Docker монтирование тома не синхронизирует данные, скопированные во время сборки образа между контейнером и хостом - PullRequest
0 голосов
/ 28 марта 2020

Я пытаюсь синхронизировать c некоторый код из моего контейнера в локальный. Этот «код» был скопирован в контейнер во время сборки образа. Мне нужно запустить docker-compose up, который извлекает образ из DockerHub, чтобы увидеть этот «код» в моем локальном каталоге.

Вот Dockerfile, который использовался для построения образа.

FROM python:3.6-slim-stretch
RUN apt-get update && apt-get install -y git wget unzip
COPY requirements.txt ./requirements.txt
RUN pip install -r requirements.txt
COPY . /usr/var/MapBot
WORKDIR /usr/var/MapBot
COPY docker-entrypoint.sh /usr/local/bin/
RUN chmod +x /usr/local/bin/docker-entrypoint.sh
ENTRYPOINT ["docker-entrypoint.sh"]

Эта команда COPY . /usr/var/MapBot перемещает весь мой код в файловую систему.

Вот мой docker-compose.yml

version: "3"
services:
    db:
        image: mysql:8
        container_name: mapbot_db
        environment:
            - MYSQL_ROOT_PASSWORD=root
            - MYSQL_DATABASE=mapbot
        volumes:
            - ./db-init/:/docker-entrypoint-initdb.d
            - persistent_db:/var/lib/mysql

    java:
        image: openjdk:11
        container_name: mapbot_java
        volumes:
            - java_storage:/usr/local/openjdk-11/

    bot:
        image: chttrje/chatbot
        container_name: mapbot_bot
        environment:
            - DOCKER=Y
            - GCLOUD_API_KEY=<YOUR_API_KEY_HERE>
        depends_on:
            - db
            - java
        volumes:
            - java_storage:/usr/local/openjdk-11/:ro
            - .:/usr/var/MapBot
        stdin_open: true
        tty: true

volumes:
    java_storage:
    persistent_db:

Здесь важно отметить следующее что у меня больше нет своего «кода», который я использовал для создания своего имиджа. Я вытягиваю изображение из DockerHub в docker-compose.yml. При запуске я не вижу содержимого /usr/var/MapBot в каталоге, где находится docker-compose.yml.

Это ожидаемое поведение или я что-то упустил?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...