Docker之单机编排docker compose

Docker Compose简介

docker-compose是docker容器的一种单机编排服务,docker-compose是一个管理多个容器的工具,可以替代docker命令对容器进行创建、启动和停止等手工操作。

docker-compose项目是Docker官方的开源项目,负责实现对Docker容器集群的快速编排,docker-compose将所管理的容器分为三层,分别是工程(project)、服务(service)以及容器(container)。

github地址:https://github.com/docker/compose/

docker-compose安装

root@node01:~# cd /opt/
root@node01:/opt# version=v2.16.0
root@node01:/opt# wget -O /usr/local/sbin/docker-compose https://github.com/docker/compose/releases/download/${version}/docker-compose-linux-x86_64
root@node01:/opt# chmod +x /usr/local/sbin/docker-compose
root@node01:/opt# docker-compose -v
Docker Compose version v2.16.0

docker-compose使用帮助

root@node01:~# docker-compose --help

Usage:  docker compose [OPTIONS] COMMAND

Docker Compose

Options:
      --ansi string                Control when to print ANSI control characters ("never"|"always"|"auto") (default "auto")
      --compatibility              Run compose in backward compatibility mode
      --env-file string            Specify an alternate environment file.
  -f, --file stringArray           Compose configuration files
      --profile stringArray        Specify a profile to enable
      --project-directory string   Specify an alternate working directory
                                   (default: the path of the Compose file)
  -p, --project-name string        Project name

Commands:
  build       Build or rebuild services
  convert     Converts the compose file to platform's canonical format
  cp          Copy files/folders between a service container and the local filesystem
  create      Creates containers for a service.
  down        Stop and remove containers, networks
  events      Receive real time events from containers.
  exec        Execute a command in a running container.
  images      List images used by the created containers
  kill        Force stop service containers.
  logs        View output from containers
  ls          List running compose projects
  pause       Pause services
  port        Print the public port for a port binding.
  ps          List containers
  pull        Pull service images
  push        Push service images
  restart     Restart containers
  rm          Removes stopped service containers
  run         Run a one-off command on a service.
  start       Start services
  stop        Stop services
  top         Display the running processes
  unpause     Unpause services
  up          Create and start containers
  version     Show the Docker Compose version information

Run 'docker compose COMMAND --help' for more information on a command.

docker-compose文件格式

官方文档:https://docs.docker.com/compose/compose-file/

docker compose文件是一个yaml文件,所以注意行首的缩进很严格,默认docker-compose命令调用当前目录下的docker-compose.yml文件,因此一般执行docker-compose命令先进入docker-compose.yml文件所在目录。

docker compose文件格式很不同版本,版本不同,语法和格式有所不同。

示例

version: '3.9'

services:
  admin-rel:
    image: xxxxxxxx
    container_name: xxx
    restart: always
    environment:
      - TZ=Asia/Shanghai
    volumes:
      - ./conf/admin.yaml:/apps/admin.yaml
    network_mode: host    # 不可与ports同时使用
    command: "xxxxx"
    ports:
      - "8080:8080"
      - target: 9010
        host_ip: 192.168.1.23
        published: "29010"
        protocol: tcp
        mode: host
    extra_hosts:
      - "somehost:162.242.195.82"
      - "otherhost:50.31.209.229"
    networks:
      admin-rel:
        ipv4_address: 172.31.3.8
        aliases:
        - admin-rel
      
networks:
  admin-rel:
    driver: bridge
    ipam:
      config:
        - subnet: 172.31.3.0/24

参考文档

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

posted @ 2021-11-07 17:00  小吉猫  阅读(153)  评论(0编辑  收藏  举报