Docker 部署 MySQL:5.6
2023-11-10 本文已影响0人
tzktzk1
案例:需求
在Docker容器中部署MySQL,并通过外部mysql客户端操作MySQL Server。
案例:实现步骤
1.搜索mysql镜像 docker search mysql
2.拉取mysqi镜像 docker pull mysql:5.6
3.创建容器
在/home目录下创建mysql目录用于存储mysql数据信息
mkdir /home/mysql
cd /home/mysql
linux下部署命令:
docker run -itd --name mysql_5.6 -p 3307:3306 -e MYSQL_ROOT_PASSWORD=123456 -e identified=mysql_native_password -v /home/mysql/log:/var/log/mysql -v /home/mysql/data:/var/lib/mysql -v /home/mysql/conf:/etc/mysql mysql:5.6
windows下部署命令:
docker run -itd --name mysql-5.6 -p 3307:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.6 --lower_case_table_names=1
参数说明:
- -v /home/mysql/log:/var/log/mysql :将宿主机上的/home/mysql/log目录挂载到容器的/var/log/mysql目录下,用于存储MySQL的日志文件。
- -v /home/mysql/data:/var/lib/mysql :将宿主机上的/home/mysql/data目录挂载到容器的/var/lib/mysql目录下,用于存储MySQL的数据文件。
- -v /home/mysql/conf:/etc/mysql :将宿主机上的/home/mysql/conf目录挂载到容器的/etc/mysql目录下,用于存储MySQL的配置文件。
- -e MYSQL_ROOT_PASSWORD=123456 :设置MySQL的root账户密码为123456。建议设置复杂的密码。
- -e identified=mysql_native_password # 在容器启动时配置加密方式为mysql_native_password
4.进入容器,操作容器中的mysql
docker exec -it c_mysql /bin/bash
5.使用外部机器连接容器中的mysql
192.168.149.135 (宿主机IP)
root (容器中mysql账号)
123456 (容器中mysql密码)
3307 (宿主机端口)
MySQL部署:端口映射
容器内的网络服务和外部机器不能直接通信
外部机器和宿主机可以直接通信
宿主机和容器可以直接通信
当容器中的网络服务需要被外部机器访问时,可以将容器中提供服务的端口映射到宿主机的端口上。
外部机器访问宿主机的该端口,从而间接访问容器的服务。
这种操作称为:端口映射