查找镜像:
docker search mysql
获取镜像:
docker pull mysql:版本号 / 查找的镜像名
创建容器
-
如果您只想设置必需的环境变量而不将数据库存储在主机目录中,请执行以下命令:
docker run -d --name app_mysql -p 3307:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:版本号/...
-
如果你希望你的数据库在容器执行过程中保持持久性,请执行以下命令:
a. 创建数据存储目录 和配置文件目录
mkdir -p ~/home/mysql/data ~/home/mysql/conf.d
b. 编辑配置文件(配置可参照网上配置)
root@/home/mysql:vi my.cnf
b. 分别赋予读写权限
chmod +766 data/ chmod +766 cnf.d/
c. 创建并运行容器
docker run --restart=always --privileged=true -d -v /home/mysql/data/:/var/lib/mysql -v /home/mysql/conf.d:/etc/mysql/conf.d -v /home/mysql/my.cnf:/etc/mysql/my.cnf -p 3307:3306 --name mysql -e MYSQL_ROOT_PASSWORD=123456 mysql:版本号/镜像名
参数说明:
-p 3307:3306:将容器的3306端口映射到主机的3307端口
-e MYSQL_ROOT_PASSWORD=123456:初始化root用户的密码
–restart=always: 当Docker 重启时,容器会自动启动。
–privileged=true:容器内的root拥有真正root权限,否则容器内root只是外 部普通用户权限
-v /home/mysql/conf.d/my.cnf:/etc/my.cnf:映射配置文件
-v /home/mysql/data/:/var/lib/mysql:映射数据目录 mysql:版本号
查看容器运行情况:
docker ps
docker ps -a
进入容器:
docker exec -it mysql bash
命令说明:
-d :分离模式: 在后台运行
-i :即使没有附加也保持STDIN 打开
-t :分配一个伪终端