Conociendo Dockerfile por primera vez y realizando la sincronización de datos entre contenedores

Conociendo Dockerfile por primera vez y realizando la sincronización de datos entre contenedores

1. Primero familiarizado con Dockerfile

Dockerfile es simplemente un archivo de compilación y un script de comando que se usa para construir una imagen de Docker. El espejo se puede generar a través de este script, el espejo es capa por capa, los comandos del script uno por uno y cada comando es una capa.

Un simple dockerfile

# 创建一个dockerfile文件,名字可以随机 建议Dockerfile
# 文件中的内容 指令(大写) 参数
FROM centos

VOLUME ["volume01","volume02"]

CMD echo "---------end---------"
CMD /bin/bash

# 这里的每一个命令就是镜像的一层

Ejecute su propia imagen:

docker run -it 镜像id /bin/bash

Captura de pantalla:
Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí
Puede ver que hay volume01 y volume02. Estos son dos volúmenes de datos. El host debe tener su directorio de montaje correspondiente.

Podemos ver la información detallada del contenedor, podemos encontrar el catálogo correspondiente.

docker inspect 容器id

Captura de pantalla:
Inserte la descripción de la imagen aquí

2. Realice la sincronización de datos entre contenedores

Es relativamente sencillo realizar la sincronización de datos entre contenedores. Solo necesita ejecutar un contenedor (con una carpeta montada) y luego agregar otro contenedor. --volumes-from 刚刚运行的容器名
Tome la imagen de arriba como ejemplo:
primero ejecute docker01

docker run -it --name docker01 ybg/centos:1.0

Captura de pantalla:
Inserte la descripción de la imagen aquí
luego ejecute docker02

docker run -it --name docker02 --volumes-from docker01 ybg/centos:1.0

Captura de pantalla:
Inserte la descripción de la imagen aquí
Luego, creamos una nueva carpeta de prueba en volume01 de docker02 para
Inserte la descripción de la imagen aquí
verificar si la carpeta volume01 de docker01
Inserte la descripción de la imagen aquí
está sincronizada. Puede ver que las dos carpetas están sincronizadas.

Para los contenedores que comparten datos, elimine cualquiera, los datos de otros contenedores no se eliminarán

Por ejemplo:
sobre la base de hace un momento, eliminamos docker01 para
Inserte la descripción de la imagen aquí
ver la carpeta volume01 de docker02, el archivo de prueba todavía está allí
Inserte la descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/weixin_43520670/article/details/113619713
Recomendado
Clasificación