Juega con la herramienta de orquestación automática Docker: introducción y uso de Docker compose

Play docker herramienta de orquestación automática-docker compose

Prólogo

Los últimos dos artículos son para volver a jugar Dockerfile, principalmente para construir varias imágenes de servicio basadas en Dockerfile. Este artículo presentará y demostrará el concepto y el uso de la herramienta de orquestación automática de docker.

¿Qué es Docker compose?

Cuando usamos Dockerfile para compilar la imagen, después de escribir el Dockerfile y otros archivos necesarios, necesitamos usar docker build, docker run y otros comandos para operar {crear, iniciar, detener, etc.} el contenedor. Sin embargo, en un sistema de arquitectura de microservicio, un sistema de aplicación generalmente contiene varios servidores, y cada microservicio generalmente despliega múltiples instancias. Si cada servicio debe iniciarse y detenerse manualmente, esto es demasiado ineficiente y el mantenimiento es muy Inconveniente

Por lo tanto, con docker compose, puede administrar contenedores de manera fácil y eficiente y es una herramienta de aplicación para definir y ejecutar la ventana acoplable de contenedores múltiples.

Usemos la siguiente herramienta de compilación de docker en combinación con ejemplos prácticos: después de eso, daremos una introducción a los campos comúnmente utilizados en el archivo de orquestación y los comandos relacionados para docker-compose.

Construya el servicio de contenedor nginx basado en la herramienta de redacción docker

Primero, necesitamos crear un directorio, que debe contener un directorio nginx para construir el Dockerfile, el directorio de prueba de la página de inicio y el archivo docker-compose.yml

Por lo tanto, por un lado, necesitamos el entorno de instalación de docker y la herramienta de redacción de docker;

Además, aún es necesario escribir el Dockerfile y el script en ejecución del servicio nginx, combinado con el directorio de página especificado para probar y verificar;

A continuación, escriba el archivo docker-compose.yml en formato yml y ejecute el comando correspondiente.

La siguiente es la estructura de directorios de este caso.

[root@localhost opt]# tree compose_nginx/
compose_nginx/
├── docker-compose.yml
├── nginx
│?? ├── Dockerfile
│?? └── nginx.sh
└── wwwroot
    └── index.html

2 directories, 4 files

No es necesario cambiar el Dockerfile y el archivo correspondiente, todo lo que tenemos que hacer es escribir una página de inicio

[root@localhost opt]# cat compose_nginx/wwwroot/index.html 
<h1>this is test web</h1>

Luego escriba el archivo docke-compose.yml

[root@localhost opt]# cat compose_nginx/docker-compose.yml 
version: '3'
services:
  nginx:
    hostname: nginx
    build:
      context: ./nginx
      dockerfile: Dockerfile
    ports:
      - 1216:80
      - 1217:443
    networks:
      - cluster
    volumes:
      - ./wwwroot:/usr/local/nginx/html
networks:
  cluster:

Explicación del archivo docker-compose.yml

version:声明版本,目前是3
service:具体的服务
nginx:服务名称
hostname:容器主机名称
build:创建
context:提供资源和素材提供的目录,用来创建容器的路径
dockerfile:Dockerfile文件
ports:提供的端口,相当于执行docker run -p的设置
networks:网络名称,如果是群集那么这个名称设置需要一致(同一个网络环境)
volumes:数据卷,本次案例是提供首页页面
networks:services的子选项针对外公开的网络名称

Comienza a correr

[root@localhost opt]# docker-compose -f compose_nginx/docker-compose.yml up -d
#-f——指定文件   -d——后台 up——启动
....//第一次执行过程比较久,显示信息多,这里就省略了。

Los resultados de la operación y algunas explicaciones son los siguientes

Juega con la herramienta de orquestación automática Docker: introducción y uso de Docker compose

Si el comando anterior se ejecuta repetidamente, aparecerá el siguiente resultado, por lo que esta ADVERTENCIA es un recordatorio amistoso.

[root@localhost opt]# docker-compose -f compose_nginx/docker-compose.yml up -d
compose_nginx_nginx_1 is up-to-date

Ver imágenes y contenedores

[root@localhost opt]# docker images
REPOSITORY            TAG                 IMAGE ID            CREATED             SIZE
compose_nginx_nginx   latest              67f9a64cc32d        5 minutes ago       587MB
centos                7                   5e35e350aded        5 months ago        203MB
[root@localhost opt]# docker ps -a
CONTAINER ID        IMAGE                 COMMAND             CREATED             STATUS              PORTS                                         NAMES
8f3d48d7c765        compose_nginx_nginx   "/nginx.sh"         5 minutes ago       Up 5 minutes        0.0.0.0:1216->80/tcp, 0.0.0.0:1217->443/tcp   compose_nginx_nginx_1

Verificación de prueba:

Juega con la herramienta de orquestación automática Docker: introducción y uso de Docker compose

Docker compone campos comunes de configuración (en archivo .yml)

Juega con la herramienta de orquestación automática Docker: introducción y uso de Docker compose

Comandos comunes de Docker compose (terminal bash)

Juega con la herramienta de orquestación automática Docker: introducción y uso de Docker compose

Supongo que te gusta

Origin blog.51cto.com/14557673/2489538
Recomendado
Clasificación