수색…


매개 변수

매개 변수 세부
tty:true docker-compose.yml에서, tty: true 플래그는 컨테이너의 sh 명령이 입력을 기다리는 것을 계속 유지합니다.

비고

hostbridge 네트워크 드라이버는 단일 도커 호스트의 컨테이너를 연결할 수 있습니다. 컨테이너가 하나의 시스템을 넘어서 통신 할 수있게하려면 오버레이 네트워크를 만듭니다. 네트워크를 만드는 단계는 도커 호스트가 관리되는 방법에 따라 다릅니다.

도커 네트워크

동일한 도커 네트워크에있는 컨테이너는 노출 된 포트에 액세스 할 수 있습니다.

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

영사의 Dockerfile8500 , 8600 및 몇 개의 포트를 추가로 노출합니다. 시연하려면 동일한 네트워크에서 다른 컨테이너를 실행하십시오.

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

여기서 영사 컨테이너는 첫 번째 명령에 주어진 이름 인 keys 결정됩니다. Docker --name 을 사용하여 컨테이너를 찾기 위해이 네트워크에서 DNS 확인제공합니다 .

도커 작성

네트워크는 작성 파일 (v2)에서 지정할 수 있습니다. 기본적으로 모든 컨테이너는 공유 네트워크에 있습니다.

다음 파일에서 시작하십시오 : 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

docker-compose up -d 로이 스택을 시작하면 상위 디렉토리 다음에 example_default 라는 이름의 네트워크가 생성됩니다. docker network ls 확인하십시오.

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

알파인 컨테이너에 연결하여 컨테이너가 확인하고 통신 할 수 있는지 확인하십시오.

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

작성 파일에는 docker 네트워크 명령에서 네트워크 이름, 드라이버 및 기타 옵션을 지정하는 networks: 최상위 섹션이있을 수 있습니다.

컨테이너 연결

docker --link 인수 및 link: sections docker-compose는 다른 컨테이너에 별칭 을 만듭니다.

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

링크를 사용하면 원래 이름이나 매핑이 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

도커 이전에는 1.10.0 컨테이너 연결 설정 네트워크 연결 - 이제 도커 네트워크에서 제공하는 동작. 이후 버전의 링크는 기본 브리지 네트워크에만 legacy 효과를 제공합니다.



Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow