Docker Compose 简单使用

Posted 神易风

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Docker Compose 简单使用相关的知识,希望对你有一定的参考价值。

Docker Compose 是Docker 官方的开源项目, 负责实现对 Docker 容器集群的快速编排。通过使用一个 docker-compose.yml模板文件来定义一个或者多个容器,满足一个软件应用运行环境。
Docker Compose 有三大使用场景

  • Dockerfile 文件构建容器,定制镜像
  • docker-compose.yml 构建软件环境
  • docker-compose 启动容器

安装

在window和mac 中,只有安装docker 就会捆绑安装Docker Compose
Linux 用户使用以下命令进行安装

sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/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 1.29.1, build c34c88b2
docker-py version: 5.0.0
CPython version: 3.9.0
OpenSSL version: OpenSSL 1.1.1g  21 Apr 2020

编写docker-compose.yml

version: "3.9"

# 服务 在它下面可以定义应用需要的一些服务,每个服务都有自己的名字、使用的镜像、挂载的数据卷、所属的网络、依赖哪些其他服务等等。
services:
  #服务名称
  webapp:
    # docker 运行在名字,在docker ps -a 看到的名字
    container_name: mynginx
    # 镜像 : 标签
    image: nginx:syf
    # 端口映射 主机端口: 容器端口
    ports:
      - "80:80"
    # 物理卷挂载 将本地路径挂载到容器内
    volumes:
      - D:/docker-compose/html:/usr/share/nginx/html
    dns:
      - 192.168.123.1

Compose 有多个版本支持2.x 、3.x,下面提供版本对应docker版本

Compose file formatDocker Engine release
Compose specification19.03.0+
3.819.03.0
3.718.06.0+
3.618.02.0+
3.517.12.0+
3.417.09.0+
3.317.06.0+
3.217.04.0+
3.11.13.1+
3.01.13.0+
2.417.12.0+
2.317.06.0+
2.21.13.0+
2.11.12.0+
2.01.10.0+

docker-compose.yml 文件还可以添加很多配置,有兴趣同学去看官网文档

docker-compose 命令

docker-compose [-f <arg>...] [--profile <name>...] [options] [--] [COMMAND] [ARGS...]

启动容器

docker-compose -f docker-compose.yml up -d

docker-compose 经常使用命令

  • build 构建或者重构service
  • create 创建service
  • down 停止并且删除容器资源
  • exec 在容器内执行命令 类型docker exec命令
  • logs 查看容器日志,与docker logs 类似
  • restart 重启容器
  • start 开启服务
  • up 创建并且开始容器

以上是关于Docker Compose 简单使用的主要内容,如果未能解决你的问题,请参考以下文章

Docker Compose

Docker Compose 创建yml 简单试例

Gravitational Teleport docker-compose简单运行

docker compose的简单使用

vernemq 集群 docker-compose 搭建简单试用

docker-compose 和 django 出错