Не для производства.Я смог запустить nginx в контейнере примерно так:
# docker run --rm -itp 4000:80 nginx
# curl localhost:4000
<outputs welcome page>
Но с помощью docker compose он не работает:
docker-compose.yml
:
version: '3'
services:
nginx:
image: nginx:stable
ports:
- "4001:80"
Тогда
# docker stack deploy -c docker-compose.yml s1
# curl localhost:4001
<hangs>
Но это работает так:
# curl DOCKER0_IP:4001
или
# curl DOCKER_GWBRIDGE:4001
Я использую Arch Linux.
docker stack ls
:
NAME SERVICES ORCHESTRATOR
s1 1 Swarm
docker stack ps s1
:
ID NAME IMAGE NODE DESIRED STATE CURRENT STATE ERROR PORTS
s9en6oyoj338 s1_nginx.1 nginx:stable yuri Running Running 13 seconds ago
pacman -Qs docker | sed 'n;d'
:
local/docker 1:18.09.0-2
docker service ls
:
ID NAME MODE REPLICAS IMAGE PORTS
710d1lrq7phh s1_nginx replicated 1/1 nginx:stable *:4001->80/tcp