내 기본 목표는 포트를 노출하고 도커 웜에서 스택 배포를 수행 할 때 한 대의 컴퓨터에서만 Nginx 서비스를 사용 가능하게하는 것입니다 (보통 우리는 도커 집단 클러스터의 모든 시스템에서 노출 된 서비스에 액세스 할 수 있습니다). 그 때문에 나는 seenmode: host
옵션이 있습니다.알 수없는 모드 : 도커 스택에 호스트 배포
그러나 도커에서 파일을 사용하고 배포 할 때 오류 service nginx: Unknown mode: host
이 발생합니다.
는
version: "3.4"
services:
nginx:
image: ramidavalapati/nginx:tag1
deploy:
mode: host
restart_policy:
condition: on-failure
placement:
constraints: [node.hostname == ram-ThinkPad-E470]
ports:
- 80:80
- 443:443
volumes:
- /home/ram/nginxDocker/nginx.conf:/etc/nginx/nginx.conf
- /home/ram/nginxDocker/logs/access.log:/var/log/nginx/access.log
- /home/ram/nginxDocker/logs/error.log:/var/log/nginx/error.log
networks:
- all
command: ["nginx", '-g', 'daemon off;']
networks:
all:
external: true
배포 파일 nginx.yml : 도커 당신을 알려으로 이 $ sudo docker stack deploy -c nginx.yml nginx