source

도커 구성, net:host에서 컨테이너 실행

manysource 2023. 10. 17. 20:23

도커 구성, net:host에서 컨테이너 실행

도커 컴포지트를 이용하여 "호스트"넷에 3개의 서비스를 생성하고 싶습니다.여기 내 도커 컴포지트.yml 파일이 있습니다.

version: '2'
services:
  mysql:
    image: mysql
    net: "host"
  nginx:
    image: nginx
    net: "host"
  app:
    image: tomcat
    net: "host"

다음 오류가 발생했습니다.

$ docker-compose up
[31mERROR[0m: Validation failed in file '.\docker-compose.yml', reason(s):
Unsupported config option for services.app: 'net'
Unsupported config option for services.mysql: 'net'
Unsupported config option for services.nginx: 'net'

저는 윈도우에서 부트투도커를 사용하고 있습니다.

도커, 도커 작곡 버전:

$ docker -v
Docker version 1.10.2, build c3959b1
$ docker-compose -version
docker-compose version 1.6.0, build cdb920a

를 사용하여 모든 서비스를 수동으로 실행하는 경우docker run --net = "host"모든 것이 잘 작동하고 있습니다.

net 명령어는 도커 컴포지트에서 지원된다는 것을 문서에서 읽었습니다.

그물

네트워킹 모드.도커 클라이언트 --net 매개 변수와 동일한 값을 사용합니다.

net: "bridge"

net: "none"

net: "container:[name or id]"

net: "host"

https://docs.docker.com/v1.6/compose/yml/ #net

내가 뭘 잘못하고 있는 거지?

그 서류들은 구식입니다.URL에 있는 1.6은 Composition 1.6이 아닌 Docker 1.6용인 것 같습니다.https://docs.docker.com/compose/compose-file/compose-file-v3/ #network_mode의 정확한 구문을 확인해 보십시오.당신은 찾고 있습니다.network_modev2/v3 YAML 형식을 사용하는 경우.

인쇄만 하면 됩니다.

network_mode: "host"

당신은 그냥 추가를 시도해보세요.

network_mode: "host"

예제:

version: '2'
services:
  feedx:
    build: web
    ports:
    - "127.0.0.1:8000:8000"
    network_mode: "host"

list 옵션 사용 가능

network_mode: "bridge"
network_mode: "host"
network_mode: "none"
network_mode: "service:[service name]"
network_mode: "container:[container name/id]"

https://docs.docker.com/compose/compose-file/ #network_mode

아마 제가 답장이 너무 늦었나 봅니다.그러나 도커 구성에서 호스트 네트워크를 구성하는 데도 문제가 있었습니다.그리고 설명서를 잘 읽어보고 수정을 해보니 효과가 있었습니다.이 구성은 도커 컴포지트 버전 "3.7"을 위한 것입니다.여기 einwohner_net 및 elk_net_net은 애플리케이션에 필요한 사용자 정의 네트워크입니다.저는 몇 가지 시스템 메트릭을 얻기 위해 호스트 넷을 사용하고 있습니다.

설명서 https://docs.docker.com/compose/compose-file/ #host-또는-에 대한 링크

version: '3.7'
services:
  app:
    image: ramansharma/einwohnertomcat:v0.0.1
    deploy:
      replicas: 1
      ports:
       - '8080:8080'
    volumes:
     - type: bind
       source: /proc
       target: /hostfs/proc
       read_only: true
     - type: bind
       source: /sys/fs/cgroup
       target: /hostfs/sys/fs/cgroup
       read_only: true
     - type: bind
       source: /
       target: /hostfs
       read_only: true
    networks:
     hostnet: {}
    networks:
     - einwohner_net
     - elk_elk_net
networks:
 einwohner_net:
 elk_elk_net:
   external: true
 hostnet:
   external: true
   name: host

언급URL : https://stackoverflow.com/questions/35960452/docker-compose-running-containers-in-nethost