目录
- 一、步骤
- 二、说明
- 三、示例
一、步骤
- 1.搜索mysql镜像
- 2.拉取mysql镜像
- 3.创建容器
- 4.操作容器中的mysql
二、说明
- 1.容器内的网络服务和外部机器不能直接通信
- 2.容器中部署的mysql端口3306不能被外部机器和宿主机直接通信
- 3.外部机器和宿主机之间可以直接通信
- 4.宿主机和容器可以直接通信
- 5.当容器中的网络服务需要被外部机器访问时,可以将容器中提供服务的端口映射到宿主机的端口上
- 6.外部机器访问宿主机的该端口,从而间接访问容器的服务
三、示例
- 1.搜索mysql镜像
docker search mysql
- 2.拉取mysql镜像
docker pull mysql:5.6
- 3.创建容器,设置端口映射、目录映射
# 在/root目录下创建mysql目录用于存储mysql数据信息
mkdir ~/mysql
cd ~/mysql
执行命令:
docker run -id \
-p 3307:3306 \
--name=my_mysql \
-v $PWD/conf:/etc/mysql/conf.d \
-v $PWD/logs:/logs \
-v $PWD/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=123456 \
mysql:5.6
参数说明:
1.-p 3307:3306:将容器的3306端口映射到宿主机的3307端口
2.-v $PWD/conf:/etc/mysql/conf.d:将主机当前目录下的conf/my.cnf挂载到容器的/etc/mysql/my.cnf。 配置的目录
3.-v $PWD/logs:/logs:将主机当前目录下的logs目录挂载到容器的/logs。 日志的目录
4.-v $PWD/data:/var/lib/mysql:将主机当前目录下的data目录挂载到容器的/var/lib/mysql。 数据的目录
5.-e MYSQL_ROOT_PASSWORD=123456:初始化root用户的密码, e是env环境的意思
- 4.进入容器
docker exec -it my_mysql /bin/bash
// my_mysql是容器名
- 5.登录mysql
mysql -u root -p
// 输入密码 123456
-
6.登录截图
-
7.退出
exit // 退出mysql
exit // 退出容器