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

相关推荐
闲云自留地1 小时前
从下载到登录:MySQL 在两大系统上的完整安装教程
数据库·mysql
ai小陈1 小时前
GPU服务器租用容器实战:Docker数据卷持久化与安全重建
服务器·人工智能·安全·docker·ai·gpu算力
如果'\'真能转义说1 小时前
Docker Desktop | 本地化挂载 Postgresql
docker·postgresql·容器
谢亮_vipxieliang2 小时前
从 Docker 到 Kubernetes:概念对照与迁移
docker·容器·kubernetes
Java的搬运工2 小时前
【无标题】
python·机器学习·docker·fastapi·模型部署·mlops·ai工程化
怪力左手3 小时前
docker+qemu创建镜像
运维·docker·容器
fengkai45454 小时前
十一、MySQL 第 1‑3 章
运维·数据库·mysql
Lancker4 小时前
记一次 Druid 连接 MySQL 报 Communications link failure 的排查过程
数据库·mysql·adb
自强的小白4 小时前
mybatis_plus的核心功能(条件构造器)
mysql