准备部分
安装 Docker
安装命令如下,三选一
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
也可以使用国内 daocloud 一键安装命令:
curl -sSL https://get.daocloud.io/docker | sh
使用yum
yum install -y docker
启动 Docker 并设置开机启动
systemctl start docker.service
systemctl enable docker.service
设置加速镜像
镜像地址
1.Docker 中国区官方镜像
https://registry.docker-cn.com
2.网易
http://hub-mirror.c.163.com
3.ustc
https://docker.mirrors.ustc.edu.cn
4.中国科技大学
https://docker.mirrors.ustc.edu.cn
创建或修改 /etc/docker/daemon.json
文件,修改为如下形式
vim /etc/docker/daemon.json
{
"registry-mirrors": [
"http://hub-mirror.c.163.com",
"https://docker.mirrors.ustc.edu.cn",
"https://registry.docker-cn.com"
]
}
检查镜像
systemctl restart docker.service
docker info
和写入的镜像地址一样即成功
拉取镜像
拉取 MySQL
这里选择5.6版本
docker pull mysql:5.7
拉取Phpmyadmin
docker pull phpmyadmin
创建容器间网络
docker network create --subnet=172.18.0.0/16 sqlnetwork
指定网段在 172.18.0.0/16
构建 MySQL
构建容器卷
宿主机选址
日志/root/data/mysql/log
数据/root/data/mysql/data
配置/root/data/mysql/conf
容器地址
/var/log/mysql
/var/lib/mysql
/etc/mysql/conf.d
创建容器
docker run -d -p 3306:3306 --privileged=true \
-v /root/data/mysql/log:/var/log/mysql \
-v /root/data/mysql/data:/var/lib/mysql \
-v /root/data/mysql/conf:/etc/mysql/conf.d \
-e MYSQL_ROOT_PASSWORD=设置好你的密码 \
--name mysql \
mysql:5.7
修复中文编码
在上一步中的宿主机的配置容器卷中的my.cnf修改为以下内容
vim /root/data/mysql/conf/my.cnf
[client]
default_character_set= utf8
[mysqld]
collation_server = utf8_general_ci
character_set_server = utf8
重启 mysql 镜像刷新配置
docker restart [镜像tag或名称]
连接到同一个容器间网络
docker network connect --ip 172.18.0.2 sqlnetwork mysql
指定ip为:172.18.0.2
构建 Phpmyadmin
综上,目标mysql服务器在容器间的地址是
172.18.0.2:3306
创建 Phpmyadmin 容器
使用上一步获取的mysql容器间地址创建
docker run --name myadmin -d -e PMA_HOST=172.18.0.2:3306 -p 8080:80 phpmyadmin
连接到同一个容器间网络
docker network connect --ip 172.18.0.3 sqlnetwork myadmin
使用测试
访问主机地址
主机公网IP:8080
即可看见Phpmyadmin,如果拒绝访问,请检查主机的安全组是否正常
用户名为root,输入之前设置的mysql密码即可进入