docker-compose 部署 MySQL 和 phpMyAdmin

目录
使用 docker-compose 部署 MySQL 及管理工具 phpMyAdmin。
搭建过程
-
先创建自定义的
bridge网络:docker network create mysql-net -
编写docker-compose.yml文件:
version : '3' services: # MySQL容器 mysql_rdb: # 容器名 container_name: mysql_rdb # 重启策略 restart: always image: mysql:latest # 自定义的 bridge 网络 networks: - mysql-net ports: # 指定 127.0.0.1,则 MySQL 无法通过其他主机访问,只能本地服务器访问,保障安全 - "127.0.0.1:3306:3306" volumes: # 挂挂载配置文件 - /home/jerome/mysql/conf.d:/etc/mysql/conf.d # 挂载数据 - /home/jerome/mysql/data:/var/lib/mysql environment: # root 密码 MYSQL_ROOT_PASSWORD: 123456 TZ: Asia/Shanghai # phpmyadmin容器 mysql_rdb_manage: container_name: mysql_rdb_manage image: phpmyadmin:latest # 端口号映射,后续需要通过 http://yourip:13306 访问 phpMyAdmin ports: - 13306:80 environment: # 指定要连接的数据库,使用 MySQL 的容器名称 - PMA_HOST=mysql_rdb # 指定要连接数据库的端口 - PMA_PORT=3306 depends_on: # 依赖 MySQL 容器 - mysql_rdb networks: # 自定义的 bridge 网络 - mysql-net deploy: resources: limits: memory: 500M restart: always networks: # 自定义的 bridge 网络 mysql-net: external: true注意:
- 需要确保
/home/jerome/mysql/conf.d和/home/jerome/mysql/data目录已提前创建好。 root密码需要修改为个人的密码。
- 需要确保
-
将上方的
docker-compose.yml放到服务器的指定目录下,如/home/jerome/build_mysql_phpmyadmin_docker。 -
启动使用
docker compose命令启动:docker-compose up -d -
启动后,访问登陆页
http://ip:13306,其中ip地址换成自己服务器的IP。页面如下:
此时,输入 root 及 docker-compose.yaml 中配置的 root 密码,即可登录。
常见问题
http://ip:13306 无法访问
- 通过
docker ps -a命令确认容器是否创建成功,并且正在运行? - 确认自己服务器是否开放了
13306端口?在腾讯云、阿里云购买的服务器默认并不会开放该端口,需要手动添加网络策略。