#docker
#docker
Вопрос:
У меня Dockerfile
это выглядит так
FROM python:3.7-alpine
VOLUME /folder
WORKDIR /
ADD my_packge.whl .
RUN wget -O- "https://packages.cloudfoundry.org/stable?release=linux64-binaryamp;source=github" | tar -zx -C /usr/local/bin amp;amp;
apk update amp;amp;
apk add --virtual deps gcc python3-dev linux-headers musl-dev libffi-dev openssl-dev amp;amp;
apk add --no-cache bash amp;amp;
pip install my_package.whl amp;amp;
apk del deps
ENTRYPOINT [ "python_app" ]
И я выполняю это так
docker run --rm
-v ${WORKSPACE}/TEST_RESULTS:/folder
-e CF_USERNAME=${CF_USN}
-e CF_PASSWORD=${CF_PWD}
container/${CF_SPACE}:${GIT_TAG_NAME}
-b 'myy_parameter'
Я ожидал, что результаты выполнения будут помещены в некоторые файлы ${WORKSPACE}/TEST_RESULTS
. Но этого не происходит.
Что не так?
Комментарии:
1. Локальная папка test …results будет смонтирована в каталог папки в образе при запуске контейнера, а не наоборот. Поэтому, если при запуске у вас есть файл, мой file.txt в папке результатов тестирования …, которая будет доступна в контейнере. Но если у вас есть myfile2.txt в контейнере, который не будет отображаться на хосте. После того, как контейнер уже запущен, если вы скопируете myfile3.txt в /folder, то это также становится доступным на хосте
2. Итак, мне нужно установить громкость после добавления и workdir?
3. Подумайте об этом так. Предположим, что ваше изображение представляет собой таблицу, а каталог / folder — это поле, которое вы разместили на таблице. Когда вы создали свой образ, вы поместили кучу вещей в коробку. Затем, когда вы запустили контейнер, вы взяли новое пустое поле (папка test_results), поместили его в таблицу и спрятали старое поле под столом. Затем, когда вы пытаетесь получить доступ к содержимому поля в таблице, оно пустое. Это то, что происходит в основном.
4. Таким образом, вы можете либо 1 поместить любые файлы, которые вам нужны, в каталог test_results перед запуском контейнера. Или 2 запустите контейнер, войдите в контейнер и восстановите все файлы, которые необходимо поместить в каталог папок. Это скопирует файлы на ваш хост и с . На вы можете просто начать нормально
5. значит, я не могу использовать ADD при использовании mount?