準(zhǔn)備部分
安裝 Docker
安裝命令如下,三選一
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
也可以使用國內(nèi) daocloud 一鍵安裝命令:
curl -sSL https://get.daocloud.io/docker | sh
使用yum
yum install -y docker
啟動 Docker 并設(shè)置開機啟動
systemctl start docker.service
systemctl enable docker.service
設(shè)置加速鏡像
鏡像地址
1.Docker 中國區(qū)官方鏡像
https://registry.docker-cn.com
2.網(wǎng)易
http://hub-mirror.c.163.com
3.ustc
https://docker.mirrors.ustc.edu.cn
4.中國科技大學(xué)
https://docker.mirrors.ustc.edu.cn
創(chuàng)建或修改 /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
image.png
和寫入的鏡像地址一樣即成功
拉取鏡像
拉取 MySQL
這里選擇5.6版本
docker pull mysql:5.7
拉取Phpmyadmin
docker pull phpmyadmin
image.png
創(chuàng)建容器間網(wǎng)絡(luò)
docker network create --subnet=172.18.0.0/16 sqlnetwork
指定網(wǎng)段在 172.18.0.0/16
構(gòu)建 MySQL
構(gòu)建容器卷
宿主機選址
日志/root/data/mysql/log
數(shù)據(jù)/root/data/mysql/data
配置/root/data/mysql/conf
容器地址
/var/log/mysql
/var/lib/mysql
/etc/mysql/conf.d
創(chuàng)建容器
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=設(shè)置好你的密碼 \
--name mysql \
mysql:5.7
image.png
修復(fù)中文編碼
在上一步中的宿主機的配置容器卷中的my.cnf修改為以下內(nèi)容
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或名稱]
image.png
連接到同一個容器間網(wǎng)絡(luò)
docker network connect --ip 172.18.0.2 sqlnetwork mysql
指定ip為:172.18.0.2
構(gòu)建 Phpmyadmin
綜上滤淳,目標(biāo)mysql服務(wù)器在容器間的地址是
172.18.0.2:3306
創(chuàng)建 Phpmyadmin 容器
使用上一步獲取的mysql容器間地址創(chuàng)建
docker run --name myadmin -d -e PMA_HOST=172.18.0.2:3306 -p 8080:80 phpmyadmin
連接到同一個容器間網(wǎng)絡(luò)
docker network connect --ip 172.18.0.3 sqlnetwork myadmin
使用測試
訪問主機地址
主機公網(wǎng)IP:8080
即可看見Phpmyadmin,如果拒絕訪問亲铡,請檢查主機的安全組是否正常
image.png
用戶名為root芙盘,輸入之前設(shè)置的mysql密碼即可進入
image.png