Где находится файл, который я смонтировал во время выполнения в Docker? - PullRequest
0 голосов
/ 19 июня 2019

Я смонтировал свой секретный файл secret.json во время выполнения на локальный докер, и, хотя он работает, я, кажется, нигде не могу найти этот том.

Мой файл Docker выглядит так и не имеет ссылки на секрет:

RUN mkdir ./app
ADD src/python ./app/src/python

ENTRYPOINT ["python"]

Затем я запустил

docker build -t {MY_IMAGE_NAME} .
docker run -t -v $PATH_TO_SECRET_FILE/:/secrets/secret.json  \
  -e MY_CREDENTIALS=/secrets/secret.json \
  {MY_IMAGE_NAME} ./app/src/python/runner.py

Это успешно выполняется локально, но когда я делаю

docker run --entrypoint "ls" {MY_IMAGE_NAME}

Не вижу громкости secrets.

Кроме того, если я запускаю

docker volume ls

, у него нет ничего похожего на secrets.

Без переменной окружения MY_CREDENTIALS скрипт не будетзапустить.Поэтому я уверен, что секретный файл где-то смонтирован, но не могу понять, где он находится.Есть идеи?

1 Ответ

2 голосов
/ 19 июня 2019

Вы фактически создаете два отдельных контейнера с командами, которые вы выполняете.Первая команда docker run создает контейнер из образа, который вы создали с подключенным томом, а затем вторая команда создает новый контейнер из того же образа, но без каких-либо томов (поскольку вы не определяете их в своей команде)

Я бы посоветовал вам дать вашему контейнеру имя, подобное этому

docker run -t -v $PATH_TO_SECRET_FILE/:/secrets/secret.json  \
  -e MY_CREDENTIALS=/secrets/secret.json \
  --name my_container {MY_IMAGE_NAME} ./app/src/python/runner.py

, а затем запустить exec для этого контейнера

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