Я пытаюсь объединить контейнер python и контейнер DynamodB в один файл стека, чтобы поэкспериментировать с роем Docker. Я делал уроки по docker рою, видя веб-приложения, работающие на нескольких узлах, но никогда ничего не создавал независимо. Я могу запустить docker-compose up
без проблем, но борюсь с роем.
Мой docker -compose.yml выглядит как
version: '3.3'
services:
dynamodb:
image: "amazon/dynamodb-local"
ports:
- "8000:8000"
track-count:
image: "my-app"
links:
- "dynamodb:localhost"
Запуск docker stack deploy -c docker-compose.yml trial_stack
не вызывает ошибок однако вывод «hello world» в качестве первой строки кода python не отображается в терминале. В качестве вывода строки CMD я получаю следующее:
Ignoring unsupported options: links
Creating network trial_stack_default
Creating service trial_stack_dynamodb
Creating service trial_stack_track-count
Мой вопрос:
1) Почему служба развертывания игнорирует ссылки? Я заметил, что это повторяется в документах https://docs.docker.com/engine/reference/commandline/stack_deploy/, но я не уверен, что это приведет к сбою моего стека.
2) Предполагается, что проблема со связями устранена, и где будет выводиться любая командная строка быть показано, чтобы подтвердить, что система работает? В настоящее время у меня есть только один узел, мой локальный компьютер, который является администратором.
Для справки, мой python образ создается следующим Dockerfile:
FROM python:3.8-slim-buster
RUN mkdir /app
WORKDIR /app
RUN pip install --upgrade pip
COPY ./requirements.txt ./
RUN pip install -r ./requirements.txt
COPY / /
COPY /resources/secrets.py /resources/secrets.py
CMD [ "python", "/main.py" ]