У меня есть приложение фляги, которое работает с MongoDB.
Локально. Когда я собираю и запускаю контейнер с использованием следующего ниже, приложение отлично работает локально.
docker-compose build
docker-compose up
Этиявляются созданные контейнеры:
/application$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
9e054b28bb46 application_web "/bin/sh -c 'python …" 38 seconds ago Up 37 seconds 0.0.0.0:80->80/tcp, 27017/tcp application_web_1
2a19a8e9a267 mongo:3.0.2 "/entrypoint.sh mong…" 39 seconds ago Up 38 seconds 0.0.0.0:27017->27017/tcp application_db_1
В моем app.py есть:
MONGODB_HOST = os.environ['DB_PORT_27017_TCP_ADDR']
MONGODB_PORT = 27017
app = Flask(__name__)
bootstrap = Bootstrap(app)
client = MongoClient(MONGODB_HOST, MONGODB_PORT)
docker-compose.yml
web:
build: .
command: python -u app.py
ports:
- "80:80"
volumes:
- .:/project
environment:
MONGODB_HOST: db
links:
- db
db:
image: mongo:3.4
command: mongod
ports:
- "27017:27017"
Dockerfile
FROM python:3.6.1-alpine
MAINTAINER mebarkiakhalil@gmail.com
WORKDIR /project
ADD . /project
RUN pip install -r requirements.txt
EXPOSE 80
EXPOSE 27017
CMD ["mongod"]
ENV NAME Cheppers_DevOps_Challenge
ENTRYPOINT python app.py
Проблема, с которой я сталкиваюсь, после помещения изображений в AWS ECS, а затем создания кластера с заданным помещенным репозиторием дляизображение контейнера, я всегда получаю эту ошибку в журналах определения задачи:
2019-10-08 14:19:02
MONGODB_HOST = os.environ['DB_PORT_27017_TCP_ADDR']
KeyError: 'DB_PORT_27017_TCP_ADDR'