práctica de dind

escenas que se utilizarán

 Para no contaminar el entorno del host host, incluida la imagen y el contenedor, debe usar un dind como servidor acoplable, y otras imágenes lo usan como demonio acoplador.

demonio portuario:

   Sitio web oficial de referencia 

https://hub.docker.com/_/docker?tab=description

$ docker run --privileged --name some-docker -d \
    --network some-network --network-alias docker \
    -e DOCKER_TLS_CERTDIR=/certs \
    -v some-docker-certs-ca:/certs/ca \
    -v some-docker-certs-client:/certs/client \
    docker:dind

El más importante es la red, y lo peor es que esta instancia de la ventana acoplable se puede utilizar como nombre de host. Y no puede usar some-docker como nombre de host.

Entonces, volume: some-docker-certs-client también es muy importante, porque la instancia de la ventana acoplable del cliente necesita compartirlo.

cliente de Docker:

 

docker run -itd --name cent5 --env DOCKER_HOST=tcp://docker:2376 --env DOCKER_CERT_PATH=/certs/client -v some-docker-certs-client:/certs/client:ro --network some-network --env DOCKER_TLS_VERIFY=1 centos:7

Entre ellos --env DOCKER_TLS_VERIFY = 1 es muy importante, de lo contrario aparecerá:

[root@46db8429a2e1 /]# docker ps
Error response from daemon: Client sent an HTTP request to an HTTPS server.

Resultados experimentales 

 (1) De acuerdo con el comando del cliente de Docker, cree una instancia a partir de una imagen centos básica

(2) yum install docker-client-latest solo instala el cliente. Porque demonio está especificado por --env DOCKER_HOST = tcp: // docker: 2376.

       docker tirar redis 

(3) En el cliente, vemos

 

(3) En demonio

docker exec -it some-docker docker ps

Práctica del proyecto:

Nota: Como contenedor práctico final en cent5, docker cp / usr / bin / docker cent5: / usr / bin / puede hacer que tenga un cliente con una versión similar al demonio.

Debido a que el 18.09.7 más reciente de dind es el 18.09.9, esto se puede consultar en la etiqueta del sitio web oficial.

Es necesario dejar que el demonio y el cliente tengan el mismo directorio de datos, porque la ventana acoplable de la aplicación en el contenedor, como redis, el directorio al que hace referencia está escrito en el script y se generará en el contenedor del cliente; pero la ventana acoplable se genera en el contenedor del cliente. En el demonio, solo puede hacer referencia al directorio en el demonio, por lo que los dos deben considerarse como uno, por lo que es necesario hacer referencia al directorio del host host juntos.  

docker run --privileged --name some-docker -d \
    --network some-network --network-alias docker \
    -e DOCKER_TLS_CERTDIR=/certs \
    -v some-docker-certs-ca:/certs/ca \
    -v some-docker-certs-client:/certs/client \
    -v /home/dualven/dockerindocker:/docker \
   -v /home/dualven/dockerindocker/localtime:/etc/localtime \
    docker:18.09.9-dind
docker run -itd --name cent5 --env DOCKER_HOST=tcp://docker:2376 --env DOCKER_CERT_PATH=/certs/client -v some-docker-certs-client:/certs/client:ro --network some-network --env DOCKER_TLS_VERIFY=1 -v /home/dualven/dockerindocker:/docker -v /home/dualven/dockerindocker/localtime:/etc/localtime centos:7

El script exacto se registra en: http://gitlab.gbcom.com.cn/dualvenDoc/dinddoc.git   (con puerto, etc.) 

 

 

Supongo que te gusta

Origin blog.csdn.net/dualvencsdn/article/details/112707654
Recomendado
Clasificación