文章
问答
冒泡
Docker Compose

概述

Docker Compose是Docker官方开源项目,负责实现对Docker容器集群的快速编排。

Docker Compose允许通过一个单独的docker-compose.yml文件(yaml格式)来定义一组相关联的应用容器为一个项目。

安装

https://docs.docker.com/compose/install/

安装docker的时候,会自带安装的。

核心概念

一个文件:docker-compose.yml文件

两个要素:service和project

使用步骤

1)编写Dockerfile定义各个服务应用并构建出对应的镜像文件

2)使用docker-compose.yml定义一个完整业务单元,安排好整体应用的各个容器服务。

3)执行docker compose up命令启用整个应用程序。

docker-compose.yml编写

# 版本
version: "3.9"
# 涉及的服务定义
services:
    #服务一
    backend:
        #对应的镜像名称以及版本,name:tag
        image: justin.com/panda/panda-backend:v1
        #依据对应目录下的Dockerfile进行构建
        build: ./backend
        #容器名称
        container_name: panda-backend
        #与宿主机映射的端口号
        ports:
            - "8080:8080"
            - "50051:50051"
        #与宿主机映射的容器卷,匿名容器卷,由宿主机进行管理
        volumes:
            - "/opt/log:/log"
        #环境变量的定义
        environment:
            DATABASE_NAME: panda_backend
            MINIO_PREVIEW_URL_HOST: "192.168.245.200"
        #依存的网络
        networks:
            - panda_tier
        #启动策略
        restart: always
    #服务二
    frontend:
        image: justin.com/panda/panda-frontend:v1
        build: ./frontend
        container_name: panda-frontend
        ports:
            - "80:80"
        networks:
            - panda_tier
        restart: always
#网络的定义
networks:
    panda_tier:
        driver: bridge

常用命令

#创建并启动容器
docker compose up

#创建并启动容器(后台运行)
docker compose up -d

#后台创建并启动容器,在此之前先构建镜像
docker compose up -d --build

#指定对应的配置文件以及所属项目名称,后台创建并启动容器,在此之前先构建镜像
docker compose -f <dockerComposeFilePath> -p <projectName> up -d --build

#停止并删除容器、网络
docker compose down

#停止并删除容器、镜像、网络,等待60s
docker compose down --rmi all -t 60

#启动容器
docker compose start

#停止容器
docker compose stop

#停止容器,超时时间,单位:秒
docker compose stop -t [timeout seconds]

#查看包含的容器
docker compose ps
docker
docker compose

关于作者

justin
123456
获得点赞
文章被阅读