Buscar..


Parámetros

Parámetro Detalles
tty:true En docker-compose.yml, el indicador tty: true mantiene el comando sh del contenedor en espera de entrada.

Observaciones

Los controladores de red del host y del bridge pueden conectar contenedores en un solo host de docker. Para permitir que los contenedores se comuniquen más allá de una máquina, cree una red de superposición. Los pasos para crear la red dependen de cómo se administran los hosts de la ventana acoplable.

Red docker

Los contenedores en la misma red de ventana acoplable tienen acceso a los puertos expuestos.

docker network create sample
docker run --net sample --name keys consul agent -server -client=0.0.0.0 -bootstrap

Consul's Dockerfile expone 8500 , 8600 y varios puertos más. Para demostrar, ejecute otro contenedor en la misma red:

docker run --net sample -ti alpine sh
/ # wget -qO- keys:8500/v1/catalog/nodes

Aquí el contenedor del cónsul se resuelve a partir de las keys , el nombre dado en el primer comando. Docker proporciona resolución de DNS en esta red, para encontrar contenedores por su --name .

Docker-componer

Las redes se pueden especificar en un archivo compuesto (v2). Por defecto, todos los contenedores están en una red compartida.

Comience con este archivo: example/docker-compose.yml :

version: '2'
services:
  keys:
    image: consul
    command: agent -server -client=0.0.0.0 -bootstrap
  test:
    image: alpine
    tty: true
    command: sh

Al iniciar esta pila con docker-compose up -d se creará una red con el nombre del directorio principal, en este caso example_default . Consulte con la docker network ls

 > docker network ls
NETWORK ID          NAME                    DRIVER              SCOPE
719eafa8690b        example_default         bridge              local

Conéctese al contenedor alpino para verificar que los contenedores puedan resolverse y comunicarse:

 > docker exec -ti example_test_1 sh
/ # nslookup keys
...
/ # wget -qO- keys:8500/v1/kv/?recurse
...

Un archivo de redacción puede tener una sección de networks: nivel superior para especificar el nombre de la red, el controlador y otras opciones del comando de red de la ventana acoplable .

Vinculación de contenedores

La --link acoplable --link argumento de link: , y link: secciones --link acoplable-componer --link alias a otros contenedores.

docker network create sample
docker run -d --net sample --name redis redis

Con el enlace, ya sea el nombre original o la asignación, se resolverá el contenedor redis.

> docker run --net sample --link redis:cache -ti python:alpine sh -c "pip install redis && python"
>>> import redis
>>> r = redis.StrictRedis(host='cache')
>>> r.set('key', 'value')
True

Antes de 1.10.0 contenedor de la 1.10.0 acoplable 1.10.0 , también configure la conectividad de la red, el comportamiento ahora es proporcionado por la red de la ventana acoplable. Los enlaces en versiones posteriores solo proporcionan un efecto legacy en la red de puente predeterminada.



Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow