Docker Compose详解

Docker Compose详解

一、Compose简介

Compose 是用于定义和运行多容器 Docker 应用程序的工具。通过 Compose,您可以使用 YML 文件来配置应用程序需要的所有服务。然后,使用一个命令,就可以从 YML 文件配置中创建并启动所有服务。

二、Compose安装

# 运行此命令下载当前的 Docker Compose 稳定版本
sudo curl -L "<https://github.com/docker/compose/releases/download/1.29.1/docker-compose-$>(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
# 对二进制文件应用可执行权限
sudo chmod +x /usr/local/bin/docker-compose
# 检查是否安装成功
docker-compose --version

在这里插入图片描述

三、使用docker-compose部署应用

注:有详细的备注说明,就不再拆开说明

# 指定版本信息
version: '3'

# 定义服务(容器)
services:
   # 创建具体的服务(容器)
   db:
     # 指定需要使用的镜像名称
     # 镜像名:tag
     # 如果本地没有指定镜像,那么会从docker hub中下载,否则直接使用本地的镜像
     image: mariadb
     # 在运行容器时,指定需要执行的命令或者参数
     command: --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
     # 指定数据持久化映射
     volumes:
       # - 数据卷名称或者宿主机文件、路径:容器中的路径
       - mysql_db:/var/lib/mysql
     # 指定容器失败时(Existed),重启策略
     restart: always
     # 指定容器中的全局变量
     environment:
      # 变量名: 变量值
      MYSQL_ROOT_PASSWORD: "123456"
      MYSQL_DATABASE: my_django
     # 指定当前容器需要加入的网络
     networks:
      - django_app_net

   django_app:
     # 指定当前服务(容器)依赖的服务
     depends_on:
      - db
     # 指定通过Dockerfile去构建镜像(Dockerfile所在路径)
     build: ./django
     # 在build下方,指定构建的镜像名称:tag
     image: desireyang/django_app:v2
     restart: always
     volumes:
       - logs:/usr/src/app/logs/
       - django_code:/usr/src/app/web_test/
     networks:
      - django_app_net

   web:
     depends_on:
       - django_app
     build: ./nginx
     image: desireyang/web:v2
     restart: always
     # 将容器中监听的端口与宿主机端口镜像映射
     ports:
       - "8444:80"
       - "8440:8000"
     volumes:
       - logs:/var/log/nginx/
     networks:
      - django_app_net

# 指定需要使用的网络
networks:
  # 指定网络的名称,默认会创建bridge桥接网络
  django_app_net:

# 指定数据卷
volumes:
    mysql_db:
    django_code:
    logs:

四、检查是否有错误

docker-compose config

五、只构建不运行

docker-compose build

六、运行

docker-compose up -d
# 如果docker-compose文件名不是docker-compose.yml,需要加上-f指定文件
docker-compose up -d -f docker-compose-django.yml
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值