Zoeken…


parameters

Parameter Details
tty:true In docker-compose.yml zorgt de vlag tty: true ervoor dat het sh commando van de container blijft wachten op invoer.

Opmerkingen

De host en bridge netwerkdrivers kunnen containers op een enkele docker-host aansluiten. Maak een overlay-netwerk om containers meer dan één machine te laten communiceren. Stappen om het netwerk te maken, zijn afhankelijk van hoe uw docker-hosts worden beheerd.

Docker netwerk

Containers in hetzelfde docker-netwerk hebben toegang tot zichtbare poorten.

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

Consul's Dockerfile toont 8500 , 8600 en nog enkele poorten. Voer een andere container in hetzelfde netwerk uit om dit te demonstreren:

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

Hier wordt de consulcontainer omgezet van keys , de naam die bij het eerste commando wordt gegeven. Docker biedt dns-resolutie op dit netwerk, om containers te vinden op hun --name .

Docker-compose

Netwerken kunnen worden gespecificeerd in een compose-bestand (v2). Standaard bevinden alle containers zich in een gedeeld netwerk.

Begin met dit bestand: 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

Als u deze stapel start met docker-compose up -d wordt een netwerk gemaakt met de naam van de bovenliggende map, in dit geval example_default . Neem contact op met docker network ls

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

Maak verbinding met de alpine container om te controleren of de containers kunnen oplossen en communiceren:

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

Een opstelbestand kan een networks: sectie op het hoogste niveau om de netwerknaam, het stuurprogramma en andere opties van de docker-netwerkopdracht op te geven .

Container koppelen

Het --link argument en link: secties docker-compose maken aliassen naar andere containers.

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

Met koppeling lost de oorspronkelijke naam of de toewijzing de redis-container op.

> 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

Voordat 1.10.0 containerkoppeling ook netwerkconnectiviteit 1.10.0 - gedrag nu geboden door docker netwerk. Koppelingen in latere versies hebben alleen een legacy effect op het standaard bridge-netwerk.



Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow