Docker compose的基础使用

分类: docker

2020-10-05

|

131

|

评论:0

分享:

使用原始的命令行来运行容器,存在着参数复杂、结构不清晰、运行多个容器比较麻烦等缺点。所以可以利用Docker compose来启动容器,将容器的参数结构化的记录在启动文件中。并且一个文件(yaml文件)可以同时启动多个容器,可以更方便的维护一个系列的容器启动管理(和ROS中的launch文件类似)。

安装Docker compose(linux)

curl -L "https://github.com/docker/compose/releases/download/1.24.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
# 其中uname -s 是操作系统的类型(linux), uname -m 是CPU的架构(x86_64)。上诉命令意为将docker-compose-linux-x86_64下载到bin文件夹中。
chmod +x /usr/local/bin/docker-compose    # 为程序增加可执行权限
curl -sSLf "https://gitee.com/large_cat/docker-compose/raw/main/install.sh" | sh    # linux_x86-64系统可以直接使用这个命令下载,速度会快一点。

上述命令是脚本自动安装,也可以到官网自行下载安装。

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


使用Docker compose管理容器的启动

Docker compose使用yml文件来记录容器的启动配置。yml文件的语法详见https://www.runoob.com/w3cnote/yaml-intro.html。

yml采用键值对的方式来进行配置的记录,,且可以嵌套。层级关系用缩进来表示(类似python)。但yml不能使用tab,必须使用空格来表达层级关系。例:

key2: value1    # 注意使用英文冒号,且冒号后有一个空格。
key2: value2
key3:
  child-key1: value1
  child-key2: value2    # 相同的缩进表示为同一层级
key4: value4

Docker compose常用的配置字段(key)

version: '3.1'    # Docker compose的yml文件的格式版本 1.x 2.x 3.x,这里使用3.1(推荐)。
services:    # 申明要启动的服务
  服务1:    # 服务的名称
    restart: always    # 设置容器会随着docker启动而启动
    image: image-url | image-name[:tag]    # 设置镜像
    container_name: name    # 设置容器的名称
    ports: 
      - h_port1: c_port1
      - h_port2: c_port2    # 配置端口映射列表
    enviroment:
      env_param1: value1
      env_param2: value2    # 配置环境变量列表
    volumes:
      - volume1: c_url1
      - volume2: c_url2    # 配置数据卷映射列表
  服务2:
      build: Dockerfile路径    # 构建自定义镜像的Dockerfile路径(不包含文件名)。
    ...
  服务3:
      build:
        context: dockerfilepath    # 指定所在文件夹路径,也可以是到链接到 git 仓库的url
        dockerfile: dockerfile    # 指定dockerfile文件名
    ...
  ...

docker-compose通过yml文件启动容器

docker-compose up -d    # -d为后台启动,默认会在当前文件夹寻找yml文件。
# 可以添加-f, --file FILE 选项。使用特定的 compose 模板。且可以使用多个-f filename同时使用多个yml文件启动容器。
# 当需要build的镜像不存在时会自动build,存在时则不build。如需要重新build,则需要添加--build选项

docker-compose通过yml文件build容器

docker-compose build

docker-compose通过yml文件关闭容器并删除容器

docker-compose down

docker-compose通过yml文件【关闭 | 重启 | 启动】docker-compose维护的容器

docker-compose stop | restart | start

查看docker-compose维护的容器

docker-compose ps

docker-compose查看日志

docker-compose logs -f

Powered by Froala Editor



转载请注明来源

文章:Docker compose的基础使用

链接:/article/11

作者:大猫

标签: docker
本文共 0 个回复

发表评论 (对文章评论)

captcha