Я пытаюсь синхронизировать 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
.
Это ожидаемое поведение или я что-то упустил?