Docker Compose 使用笔记

官方简介

Compose 是用于定义和运行多容器 Docker 应用程序的工具。通过 Compose,可以使用 YML 文件来配置应用程序需要的所有服务。然后,使用一个命令,就可以从 YML 文件配置中创建并启动所有服务。

在一个 compose 里面定义的容器集合,一般是一个服务的完整运行组件集合,只是提供了 docker 容器关系声明的 “配置性”, 可以粗浅的认为相当于 Kubernates 中的一个 Pod,但是不具有弹性伸缩或故障发现和转移的能力。

使用注意

  1. yml文件里面的 version 需要和 docker-compose 执行版本精确到小版本上匹配。
  2. 要使用下载安装方式。
  3. 容器故障检测和资源配额等的操作,依然需要配合类似 pm2,supervisor 等的工具才行。
  4. 网络模式一般使用 bridge 桥接网络,这样可以组一个容器间共享子网。
  5. 存储卷也是普通的存储卷。

使用步骤

创建 dockerfile 文件

FROM tecadmin/ubuntu-ssh:16.04

RUN apt-get update
&& apt-get install -y apache2

COPY index.html /var/www/html/
WORKDIR /var/www/html
CMD ["apachectl", "-D", "FOREGROUND"]
EXPOSE 80

编辑 docker-compose.yml 文件

version: '3'
services:
db:
image: mysql
container_name: mysql_db
restart: always
environment:
- MYSQL_ROOT_PASSWORD="secret"
web:
image: apache
build: ./webapp
depends_on:
- db
container_name: apache_web
restart: always
ports:
- "8080:80"

以下命令运行

docker-compose build
docker-compose up -d

常用命令

docker-compose down [服务名]
拥有和 docker命令类似的命令,例如
docker-compose [ps,exec, restart,start,stop,pause,rm] [...args]

文档地址

https://docs.docker.com/compose/reference/overview/
https://yeasy.gitbook.io/docker_practice/compose/commands

posted on 2020-12-11 10:42  mirancy  阅读(163)  评论(0编辑  收藏  举报

导航