У меня есть docker-compose
файл:
version: "3"
services:
app2:
image: kamilwit/dockerdocker_app2
container_name: app2
build:
context: ./app2
volumes:
- app2data:/data
environment:
- LOGGING_LOG-FILES-PATH=/opt/tomcat/logs
ports:
- "8000:8080"
app:
image: kamilwit/dockerdocker_app
container_name: app
build:
context: ./app
volumes:
- app1data:/data
environment:
- LOGGING_LOG-FILES-PATH=/opt/tomcat/logs
ports:
- "8001:8080"
volumes:
app1data:
app2data:
Я следовал инструкциям https://docs.microsoft.com/en-us/azure/container-service/dcos-swarm/container-service-swarm-walkthrough
А точнее я выполнил следующие команды:
az group create --name myResourceGroup --location westus
az acs create --name mySwarmCluster --orchestrator-type Swarm --resource-group myResourceGroup --generate-ssh-keys --agent-count 1
тогда я получил output
от
az network public-ip list --resource-group myResourceGroup --query "[*].{Name:name,IPAddress:ipAddress}" -o table
Name IPAddress
-------------------------------------------------------------- --------------
swarm-agent-ip-myswarmclu-myresourcegroup-76f1d9agent-EEACED89 104.42.144.82
swarm-master-ip-myswarmclu-myresourcegroup-76f1d9mgmt-EEACED89 104.42.255.141
Я подключаюсь к SSH с:
ssh -p 2200 -fNL 2375:localhost:2375 azureuser@104.42.255.141
я использую:
export DOCKER_HOST=:2375
затем я запустил свой файл docker-compose:
docker-compose up -d
Выход docker ps
:
docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
3bfff4427e44 kamilwit/dockerdocker_app "/bin/sh /data/app..." 18 minutes ago Up 8 minutes 10.0.0.5:8001->8080/tcp swarm-agent-EEACED89000001/app
c297ea34547e kamilwit/dockerdocker_app2 "/bin/sh /data/app..." 18 minutes ago Up 8 minutes 10.0.0.5:8000->8080/tcp swarm-agent-EEACED89000001/app2
Однако я не могу подключиться к своему сайту по ip
с agent
в приведенном выше примере, я попытался
104.42.144.82:8000
и 104.42.144.82:8001/#!/registration
или даже 10.0.0.5:8000
У меня перерыв. Когда я запускаю этот dockerfile локально, я подключаю вот так к своим сайтам:
localhost:8000
и localhost:8001/#!/registration
Пробовал на
az --version
azure-cli (2.0.32)
Я пытался открыть порты в Azure
:
https://imgur.com/cjslLMN
https://imgur.com/nSAQdLS
Но это не помогло.
Попробовал также открыть сайт с мобильного телефона (другая сеть на нем) не помогло.
Edit:
с использованием docker-compose
:
version: "3"
services:
app2:
image: kamilwit/dockerdocker_app2
container_name: app2
build:
context: ./app2
volumes:
- app2data:/data
environment:
- LOGGING_LOG-FILES-PATH=/opt/tomcat/logs
ports:
- "80:8080"
app:
image: kamilwit/dockerdocker_app
container_name: app
build:
context: ./app
volumes:
- app1data:/data
environment:
- LOGGING_LOG-FILES-PATH=/opt/tomcat/logs
ports:
- "8001:8080"
volumes:
app1data:
app2data:
и, следуя тем же шагам из вопроса, я могу получить доступ к первому сайту через порт 80, но не могу зайти на сайт через порт 8001.
Если я изменил порт с 8001 на 80 и оставил 8000 - тогда я могу получить доступ к сайту через порт 80, но нет доступа к сайту через порт 8000.