1-docker安装MySQL
查询可用的mysql
docker search mysql
拉取指定版本的mysql
# 最新版的MySQL
docker pull mysql:last
# 指定版的MySQL
docker pull mysql:5.6
docker pull mysql:5.7
# 这里以mysql:5.7.29版本为例
docker pull mysql:5.7.29
建立本地映射目录
我们需要将MySQL的数据持久化到宿主机,也就是建立映射,包括配置文件、数据文件和log日志目录
# 把上述三个目录创建好
[root@r /]# mkdir -p /docker_data/mysql_data/data /docker_data/mysql_data/logs /docker_data/mysql_data/conf
# 创建一个cnf文件
[root@r /]# touch /docker_data/mysql_data/conf/my.cnf
启动MySQL
docker run -p 3307:3306 --name mysql --restart=always -v /docker_data/mysql_data/conf:/etc/mysql/conf.d -v /docker_data/mysql_data/logs:/logs -v /docker_data/mysql_data/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root1234 -d mysql:5.7.29
各参数:
-p 3307:3306
,将mysql的3306
映射到宿主机的3307
端口。--name mysql
,为容器起个名称。-v
,建立容器与宿主机的目录映射。-e
,添加环境变量,这里是为root用户设置密码。-d
,后台运行容器mysql:5.7.29
,这个mysql
容器基于mysql:5.7.29
镜像。
通过下面查看宿主的data
目录也能看到容器成功启动并且建立了映射关系。
[root@r ~]# ls /docker_data/mysql_data/data/
auto.cnf ca.pem client-key.pem ibdata1 ib_logfile1 mysql private_key.pem server-cert.pem sys
ca-key.pem client-cert.pem ib_buffer_pool ib_logfile0 ibtmp1 performance_schema public_key.pem server-key.pem
其他命令
# 查看容器运行情况
[root@r ~]# docker ps | grep mysql
ece491051be7 mysql:5.7.29 "docker-entrypoint.s…" 23 minutes ago Up 22 minutes 33060/tcp, 0.0.0.0:3307->3306/tcp mysql
# 启动和停止容器
docker start mysql
docker stop mysql
远程测试
这里使用Navicat进行测试:
OK啦
欢迎斧正,that's all see also: