欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Docker Compose介绍及实战案例

程序员文章站 2022-06-07 08:47:55
...

一.Compose介绍

Docker Compose是一个用来定义和运行复杂应用的Docker工具。一个使用Docker容器的应用,通常由多个容器组成。使用Docker Compose不再需要使用shell脚本来启动容器。
Compose 通过一个配置文件来管理多个Docker容器,在配置文件中,所有的容器通过services来定义,然后使用docker-compose脚本来启动,停止和重启应用,和应用中的服务以及所有依赖服务的容器,非常适合组合使用多个容器进行开发的场景。

二.Docker Compose的工作原理

Docker Compose将所管理的容器分为三层,工程(project),服务(service)以及容器(contaienr)。Docker Compose运行的目录下的所有文件(docker-compose.yml, extends文件或环境变量文件等)组成一个工程,若无特殊指定工程名即为当前目录名。一个工程当中可包含多个服务,每个服务中定义了容器运行的镜像,参数,依赖。一个服务当中可包括多个容器实例,Docker Compose并没有解决负载均衡的问题,因此需要借助其他工具实现服务发现及负载均衡。

Docker Compose的工程配置文件默认为docker-compose.yml,可通过环境变量COMPOSE_FILE或-f参数自定义配置文件,其定义了多个有依赖关系的服务及每个服务运行的容器。

三.Docker Compose配置常用字段

Docker Compose介绍及实战案例

四.Docker Compose的常用命令

Docker Compose介绍及实战案例

五.Docker Compose部署

5.1.实验环境

在根目录下创建名为 compose_nginx 文件
Docker Compose介绍及实战案例
下图为 Docker Compose所需文件
Docker Compose介绍及实战案例
此案例在nginx的基础上运行,利用Dockerfile就不在此处 过多介绍了。利用Dockerfile搭建服务

5.2.添加配置文件 docker-compose.yml

此文件为自己创建,指定文件名,不可修改

version: '3'
services:
  nginx:
   hostname: nginx
   build:
     context: ./nginx
     dockerfile: Dockerfile
   ports:
   - 1912:80
   - 1914:443
   networks:
   - abc
   volumes:
   - ./wwwroot:/usr/local/nginx/html
networks:
  abc:

使用docker-compose命令执行,-f 指向文件

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

查看容器是否启动
Docker Compose介绍及实战案例
此时,进入 /wwwroot 目录,添加html文件
Docker Compose介绍及实战案例

5.3.验证效果

Docker Compose介绍及实战案例