Docker Compose 实现 Nginx 与 MySQL 多容器服务编排

(一)编写 docker-compose.yml

vim docker-compose.yml

复制代码
version: '3'

services:     
  nginx:

    image: nginx:latest       

    container_name: my-nginx

    ports:

       - "8080:80"     

    volumes:

       - ./html:/usr/share/nginx/html    

    depends_on:   

       - mysql



  mysql:

    image: uhub.service.ucloud.cn/library/mysql:5.5.46

    container_name: my-mysql

    ports:

       - "3306:3306"

    environment:

       MYSQL_ROOT_PASSWORD: 123456

    volumes:

       - mysql-data:/var/lib/mysql 



volumes:

  mysql-data:

(二)运行多容器

root@Client compose-demo# docker compose up -d

WARN0000 /root/compose-demo/docker-compose.yml: the attribute `version` is obsolete, it will be ignored, please remove it to avoid potential confusion

+ up 2/2

✔ Container my-nginx Started 0.5s

✔ Container my-mysql Started

(三)测试Nginx

(四)测试mysql

(五)查看 Docker 自动创建的网络

(六)验证容器间通信

(1)进入容器内,安装ping。

apt update

apt install -y iputils-ping

(2)ping mysql

root@2fe955aa5b11:/# ping mysql

PING mysql (172.18.0.2) 56(84) bytes of data.

64 bytes from my-mysql.compose-demo_default (172.18.0.2): icmp_seq=1 ttl=64 time=0.079 ms

64 bytes from my-mysql.compose-demo_default (172.18.0.2): icmp_seq=2 ttl=64 time=0.072 ms

(七)停止服务

root@Client compose-demo# docker compose up -d

相关推荐
come1123420 小时前
Nginx `location` 配置说明(后端开发版)
运维·nginx
xhaxy1 天前
docker
docker·容器·eureka
一技安身1 天前
【信创】Docker‑Compose V2 两种离线部署(独立模式、插件模式)简易教程
java·docker·eureka
jyOverQ1 天前
MySQL 联合索引怎么用?最左匹配原则到底是什么意思?
数据库·mysql
没文化的阿浩1 天前
【MySQL】用户管理
android·mysql·adb
PHP实战开发录1 天前
PHP文件上传成功为什么页面却找不到
开发语言·nginx·php·开发
鸿观工坊1 天前
Docker 多阶段构建实践指南
docker
ShineWinsu1 天前
对于MySQL:数据库的操作的解析
linux·数据库·c++·mysql·面试·笔试·库的操作
‎ദ്ദിᵔ.˛.ᵔ₎1 天前
MySQL 数据类型
数据库·mysql
这个DBA有点耶1 天前
索引合并不是万能药:MySQL同时用两个索引,为什么比不用还慢?
数据库·mysql·dba