跳到主要内容

认识

2024年05月14日
柏拉文
越努力,越幸运

一、认识


Docker Compose 是一个强大的工具,是一个用于定义和运行多容器 Docker 应用程序的工具。允许你使用简单的 YAML 文件定义和管理多容器应用。通过 docker-compose.yml 文件,你可以轻松地配置、启动和管理应用的各个组件,多个服务、网络和卷, 从而简化开发和部署过程。并使用一个简单的命令来启动和管理它们。这使得管理复杂的容器化应用程序变得更加容易。

二、语法


version: "3.8"

services: # 容器
serviceName1: # 服务名字
build: # 运行 docker-compose build 或者 docker-compose up --build 时必须指定 build
context: # 上下文
dockerfile: # Dockerfile 文件
image: [镜像名称:Tag]
container_name: # 指定容器名字,相当于 docker run 里的 --name
command: # 可选,如果设置,会覆盖默认镜像里的 CMD 命令
environment: # 可选,相当于 docker run 里的 --e
volumes: # 可选, 相当于 docker run 里的 -v
networks: # 可选,相当于 docker run 里的 --network
ports: # 可选,相当于 docker run 里的 -p
serviceName2:
……

volumes: # 可选, 相当于 docker volume create

networks: # 可选,相当于 docker network create
networks1:

networks2:

三、通信


docker-compose.yml 结构如下

services:
serviceName1:
networks:
- networks1
serviceName2:
networks:
-networks1

networks:
networks1

serviceName2 服务向 serviceName1 通信:

# 1. 进入 serviceName2 容器 
docker ps -a

docker exec -it serviceName2 容器ID sh/bash

# 2. curl 或者 ping serviceName1 , 可以直接 curl 或者 ping 服务名称

curl serviceName1
ping serviceName1

四、应用


DockerCompose 一般应用于单机环境,通过 Compose 同时部署多个容器。所以,DockerCompose 只可以用于开发环境