Docker 入门系列三:Docker 应用部署-MySQL
MySQL 部署#
- 容器内的网络服务和外部机器不能直接通信
- 外部机器和宿主机可以直接通信
- 宿主机和容器可以直接通信
- 当容器中网络服务需要被外部访问时,可以将容器中提供服务的网络端口映射到宿主机的端口上。外部机器访问宿主机的该端口,从而间接访问容器的服务。
- 这种操作叫做:端口映射。
具体部署:
搜索 MySQL 镜像
docker search mysql
拉取镜像
docker pull mysql:5.7
创建容器,设置端口映射、目录映射
在/root目录下创建mysql目录用于存储mysql数据信息 mkdir ~/mysql cd ~/mysql
docker run -id\ -p 3307:3306\ --name=c_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.7
- 参数说明:
- -p3307:3306 将容器的 3306 端口映射到宿主机的 3307 端口
- -v $PWD/conf:/etc/mysql/conf.d 将主机当前目录下的 conf/my.cnf 挂载到容器的 /etc/mysql/my.cnf。配置目录
- -v$PWD/logs:/logs 将主机当前目录下的 logs 目录挂载到容器的 /logs。日志目录。
- -v $PWD/data:/var/lib/mysql 将主机当前目录下的 data 目录挂载到容器的 /var/lib/mysql。数据目录
- -e MYSQL_ROOT_PASSWORD=123456 初始化 root 用户的密码
- 登录 mysql:
mysql -uroot -p
本作品采用《CC 协议》,转载必须注明作者和本文链接
推荐文章: