[英]Jboss single container deployed to Elastic beanstalk unable to connect to remote database
[英]Unable to connect to a deployed container
我在AWS EC2上部署了Docker容器並將端口5001暴露給世界,但是當我嘗試在18.130.178.90:5001/users
上查看它時,我Unable to connect
。
5001 tcp 0.0.0.0/0 ✔
入站端口5001已暴露。 由AWS IPv4 Public IP 18.130.178.90
分配的IPv4 Public IP 18.130.178.90
我可以嘗試什么?
要求的屏幕截圖:
Dockerfile:
FROM python:3.6.9-alpine
LABEL maintainer="mark.alexa@gmail.com"
RUN apk update && apk add --virtual build-deps gcc python-dev musl-dev && \
apk add postgresql-dev && apk add netcat-openbsd
RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app
COPY ./requirements.txt /usr/src/app/requirements.txt
RUN pip install -r requirements.txt
COPY ./entrypoint.sh /usr/src/app/entrypoint.sh
RUN chmod +x /usr/src/app/entrypoint.sh
COPY . /usr/src/app
CMD ["/usr/src/app/entrypoint.sh"]
Docker-compose.yml:
version: '3.7'
services:
users:
build:
context: ./users
dockerfile: Dockerfile
ports:
- 5001:5000
environment:
- FLASK_ENV=production
- APP_SETTINGS=project.config.DevelopmentConfig
- DATABASE_URL=postgres://postgres:postgres@users-db:5432/users_prod
- DATABASE_TEST_URL=postgres://postgres:postgres@users-db:5432/users_test
depends_on:
- users-db
users-db:
build:
context: './users/project/db'
dockerfile: Dockerfile
ports:
- 5435:5432
environment:
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=postgres
由於您要嘗試連接到容器,因此我假設您已使用AWS ECS-EC2選項部署了該容器,對於要與該容器建立的特定連接,這將是一個安全組問題。 我將首先檢查安全組。 此外,請確保將當前正在運行的Docker容器的物理主機映射到5001上的容器端口的端口。因此,您應該看到連接到Docker容器端口的物理主機端口。 讓我知道是否有幫助。
問題是通過SSH進入已部署的容器確定的。 容器使用了錯誤的證書。 我在本地運行docker-machine regenerate-certs testdriven-prod1
然后創建了新證書,這些證書已應用於已部署的容器,現在我可以連接到它了。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.