Итак, у меня есть приложение Go, которое я внедряю в экземпляр EC2 с конвейером Ansible и Jenkins в качестве образа Docker.У меня есть образ, к которому я могу получить доступ снаружи хоста, используя IP-адрес и номер порта 8080, используя Postman.При развертывании нового образа я не могу получить ответ, используя IP-адрес и номер порта.Когда я ssh на сервер, я могу достичь конечной точки, используя localhost и номер порта.Если я остановлю это изображение и начну первое, то смогу снова дойти до него.
Каковы возможные различия между этими изображениями, которые делают невозможным доступ к конечной точке через IP-адрес?
Мой файл составления Docker:
version: '2'
services:
project-1:
image: ...
volumes:
- /var/log:/var/log
network_mode: host
environment:
- ...
cpu_shares: 1236
mem_limit: 2619m
Мой DockerFile:
FROM golang:1.10
WORKDIR /go/src/...
COPY . .
RUN go get -d -v ./...
RUN go install -v ./...
EXPOSE 8080-8080
CMD ./run.sh
Я также пытался удалить network_mode из файла Docker Compose и заменить его на порты, как показано ниже, но безуспешно:
ports:
- "0.0.0.0:8080:8080"