Mein primäres Ziel ist es, den Nginx-Service von nur einem Rechner verfügbar zu machen, wenn ich Ports freilege und im docker schwarm staple (Normalerweise können wir von jedem Rechner im Docker-Schwarm-Cluster auf den exponierten Dienst zugreifen). Dafür habe ich seenmode: host
Option.Unbekannter Modus: Host im Docker-Stack deploy
Aber wenn ich es in Docker komponieren Datei verwenden und Stapel bereitstellen dann erhalte ich Fehler service nginx: Unknown mode: host
.
nginx.yml
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
Deploy-Datei: $ sudo docker stack deploy -c nginx.yml nginx