- 官方仓库地址:mariadb
- 使用命令:docker pull mariadb 去下载这个镜像
- 创建msyql到本地的数据文件夹映射路径:mkdir -p /data/mariadb/db
- 开始mariadb server实例:
- way 1: docker run --detach --name mariadb -p 3306:3306 --env MARIADB_USER=xxx --env MARIADB_PASSWORD=xxxx --env MARIADB_ROOT_PASSWORD=my-secret-pw -v /data/mariadb/db:/var/lib/mysql mariadb:latest
- way 2:
- docker network create name-network
-
docker run --detach --network name-network --name name-mariadb --env MARIADB_USER=example-user --env MARIADB_PASSWORD=my_cool_secret --env MARIADB_ROOT_PASSWORD=my-secret-pw mariadb:latest
- 参数说明:
- --detach: 它是-d的全称,意思是后台运行容器
- --network: 意思是将这个容器映射到此network
- --env: 它是-e的全称,意思是配置这个容器的环境变量
- --name: 设置容器启动名称
- -v:将容器目录var/lib/mysql映射到本地目录/data/mariadb/db
- 运行以上命令在centos系统:
docker ps -a 查看容器是否启动成功
- 这个从上面的截图我们发现一个警告:WARNING: IPv4 forwarding is disabled. Networking will not work.此警告意思告诉我们没有开启转发,所以容器启动后将没有网络。
- 问题解决:
- 配置/etc/sysctl.conf,添加net.ipv4.ip_forward=1
- 修改文件
- 问题解决:
注:也可修改此文件:/usr/lib/sysctl.d/00-system.conf
重启network和docker服务:systemctl restart network && systemctl restart docker
查看是否修改成功:sysctl net.ipv4.ip_forward
修改成功
- 修改容器为自启动:docker container update --restart=always 容器id
- 进入容器: docker exec -it 容器id bash
- 在容器内登录数据库 mysql -uroot -proot密码
- 其它命令
- docker start 容器id 启动容器
- docker stop 容器id 停止容器
- docker数据持久化
- docker数据卷容器
- 创建一个名为boatdb数据卷(volume manager valumes)
- docker volume create boatdb
- docker volume inspect boatdb
- 查看所有卷信息
- docker volume ls
- 删除数据卷
- docker volume rm 数据卷名(e:boatdb)
- 删除容器时同时删除数据卷
- docker rm -v 容器id或容器名
- 清楚无主的数据卷
- docker volume prune
- 启动一个挂载数据卷的容器
- docker run -d -p 3306:3306 --mount source=boatdb,target=/opt --name mariadb mariadb:latest
- 参数说明:
- --mount:挂载目录(或-v:目录不存在时会自动创建目录)
- source=:创建的数据卷名(boatdb),或本地目录
- target=: 挂载到容器中的目录
- 查看boatdb volume容器
- 参数说明:
- docker run -d -p 3306:3306 --mount source=boatdb,target=/opt --name mariadb mariadb:latest
- 创建一个名为boatdb数据卷(volume manager valumes)
- docker数据卷容器
- 挂载一个本地主机文件作为数据卷
- 创建mariadb容器并持久化到本地
docker run -d --name mariadb -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -e MARIADB_USER=yudo -e MARIADB_PASSWORD=123456 -v /data/mariadb/db:/var/lib/mysql mariadb:latest
-
进入容器
docker exec -it mariadb bash
-
创建数据库
- 创建mariadb容器并持久化到本地



