Docker Compose
简介
- Compose是用于定义和运行多容器Docker应用程序的工具。通过Compose,您可以使用YAML文件来配置应用程序的服务。然后,使用一个命令,就可以从配置中创建并启动所有服务。
- 前面我们使用 Docker 的时候,定义 Dockerfile 文件,然后使用 docker build、docker run 等命令操作容器。然而微服务架构的应用系统一般包含若干个微服务,每个微服务一般都会部署多个实例,如果每个微服务都要手动启停,那么效率之低,维护量之大可想而知
- 使用 Docker Compose 可以轻松、高效的管理容器,它是一个用于定义和运行多容器 Docker 的应用程序工具
三步骤:
-
使用定义您的应用环境,
Dockerfile
以便可以在任何地方复制。 -
定义组成应用程序的服务,
docker-compose.yml
以便它们可以在隔离的环境中一起运行。 -
Run
docker-compose up
and Compose启动并运行您的整个应用程序。
一个docker-compose.yml
看起来像这样:
version: "3.8"
services:
web:
build: .
ports:
- "5000:5000"
volumes:
- .:/code
- logvolume01:/var/log
links:
- redis
redis:
image: redis
volumes:
logvolume01: {}
安装
1.下载
sudo curl -L "https://github.com/docker/compose/releases/download/1.27.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
curl -L https://get.daocloud.io/docker/compose/releases/download/1.27.4/dockercompose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
2、授权
sudo chmod +x /usr/local/bin/docker-compose
体验
python 应用。计数器。 redis!
https://docs.docker.com/compose/gettingstarted/
yaml 规则
docker-compose.yaml 核心。!
官网
# 3层
version: '' # 版本
services: # 服务
服务1: web
# 服务配置
images
build
network
.....
服务2: redis
....
服务3: redis
# 其他配置 网络/卷、全局规则
volumes:
networks:
configs:
使用Docker Compose搭建wordpress博客
#创建WordPress目录
mkdir wordpress
#进入WordPress目录
cd wordpress/
vim docker-compose.yml
docker-compose.yml
version: "3"
services:
mysql:
image: mysql:5.6
ports:
- "3306:3306"
environment:
- "MYSQL_ROOT_PASSWORD=123"
- "MYSQL_PASSWORD=123"
- "MYSQL_USER=tom"
- "MYSQL_DATABASE=wordpress"
wordpress:
image: wordpress
ports:
- "80:80"
environment:
- "WORDPRESS_DB_NAME=wordpress"
- "WORDPRESS_DB_USER=tom"
- "WORDPRESS_DB_PASSWORD=123"
- "WORDPRESS_DB_HOST=mysql"
启动容器
docker-compose up -d
#查看服务的日志
docker-compose logs -f
对于容器的操作
docker ps # 查看容器
docker stop name # 停止容器
docker restart name # 重启容器
docker rm name # 删除容器
实战
1、编写项目微服务
2、dockerfile 构建镜像
3、docker-compose.yaml 编排项目
4、丢到服务器 docker-compose up
启动 docker-compose up --d
测试
小结:
未来项目只要有 docker-compose 文件。 按照这个规则,启动编排容器。!
公司: docker-compose。 直接启动。
网上开源项目: docker-compose 一键搞定。
假设项目要重新部署打包
1 docker-compose up --build
# 重新构建!