CentOS 使用 Docker 快速部署 MySQL + Ph

2022-07-12  本文已影响0人  明ZeY

准备部分

安装 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
image.png

和写入的镜像地址一样即成功

拉取镜像

拉取 MySQL

这里选择5.6版本

docker pull mysql:5.7

拉取Phpmyadmin

docker pull phpmyadmin
image.png

创建容器间网络

docker network create sqlnetwork

构建 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
image.png

修复中文编码

在上一步中的宿主机的配置容器卷中的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或名称]
image.png

连接到同一个容器间网络

docker network connect sqlnetwork mysql

构建 Phpmyadmin

查看 mysql 所在容器的ip地址和端口

docker inspect mysql | grep IPAddress
image.png

这里是 172.17.0.2

查看端口

docker ps
image.png

综上,目标mysql服务器在容器间的地址是
172.17.0.2:3306

创建 Phpmyadmin 容器

使用上一步获取的mysql容器间地址创建

docker run --name myadmin -d -e PMA_HOST=172.17.0.2:3306 -p 8080:80 phpmyadmin

连接到同一个容器间网络

docker network connect sqlnetwork myadmin

使用测试

访问主机地址
主机公网IP:8080
即可看见Phpmyadmin,如果拒绝访问,请检查主机的安全组是否正常

image.png

用户名为root,输入之前设置的mysql密码即可进入

image.png
上一篇 下一篇

猜你喜欢

热点阅读