一、简介
Docker Compose
是一个编排多容器分布式部署的工具,提供命令集管理容器化应用的完整开发周期,包括服务构建、启动和停止。使用步骤:1. 利用 Dockerfile 定义运行环境镜像 2. 使用 docker-compose.yml 家义组成应用的各服务 3. 运行 docker-compose up 启动应用
二、安装与使用
-
除了在
Linux
上安装docker
时,不会自动安装docker-compose
,其他平台(window
、mac
)都会自动安装好docker-compose
。 -
安装好
docker
后,可以通过下面命令检查是否顺带安装好了docker-compose
,没有安装好,可以按 官网的方式进行安装,然后检查是否安装成功。$ docker-compose -v
-
创建一个工作目录
$ mkdir ~/docker-compose $ cd ~/docker-compose
-
编写
docker-compose.yml
文件,文件名固定写法。在yml
语法中-
表示数组写法,可以多个。// 版本 version: '1' // 服务 services:// 服务名称(也就是容器名称)nginx:// 镜像image: nginx:2.0ports:// 端口映射- 80:80// 关联的容器(也就是可以访问的容器)links:// 关联容器名称- app// 目录映射volumes:- ./nginx/conf.d:/etc/nginx/conf.d- ....可以多个// 服务名称(也就是容器名称)app:image: app// 对外暴露的端口expose:- "8080"
-
创建
./nginx/conf.d
目录,然后建一个nginx
配置文件# 创建配置文件夹 $ mkdir -p ./nginx/conf.d# 进入配置文件夹 $ cd ./nginx/conf.d# 新建 nginx 配置文件,名字无所谓,主要是后缀 $ vim mynginx.conf
-
mynginx.conf
内容server {listen: 80;access_log off;location / {# app 位置就是 links 里面存在容器名称加上容器暴露的端口proxy_pass http://app:8080} }
-
然后回到
~/docker-compose
目录启动容器,启动后通过http://IP地址
访问$ cd ~/docker-compose# 启动容器 $ docker-compose up
三、常用指令
-
启动和停止服务
# 启动项目中的服务 $ docker-compose up# 启动服务并在后台运行 $ docker-compose up -d# 停止服务 $ docker-compose stop
-
构建和重构服务
# 构建服务的镜像 $ docker-compose build# 如果服务镜像不存在,则构建镜像并启动服务 $ docker-compose up –build# 重构服务 $ docker-compose up –force-recreate
-
查看服务信息
# 查看项目中所有服务的信息 $ docker-compose ps# 查看容器的日志 $ docker-compose logs# 在服务镜像的容器中执行命令 $ docker-compose exec service_name command
-
删除服务
# 删除服务容器 $ docker-compose down