Как docker обрабатывает пути к файлам? - PullRequest
0 голосов
/ 11 декабря 2018

При подключении к работающему Docker-контейнеру я заметил, что пути к файлам (в bash) - это пути моей локальной машины.Например, мое имя пользователя является частью пути к файлу и т. Д.

Как мне определить подходящий путь к файлу, который нужно вставить в мой скрипт python и файл dockerfile?(оба из которых были включены в изображение).Сейчас мой локальный путь к файлу работает, но я не уверен, почему я должен определить свой WORKDIR в качестве локального пути к файлу, если это совершенно новый образ.

1 Ответ

0 голосов
/ 11 декабря 2018

Когда вы присоединяетесь к Docker-контейнеру, вы входите в контейнер, созданный из образа Docker.Это не имеет ничего общего с вашей операционной системой.Например, если вы используете базовый образ UBUNTU, то пути, очевидно, будут отличаться от базового образа Red Hat.

Тем не менее, вы можете смонтировать локальные пути к файлам как том или монтировать привязку.Это становится очевидным, если вы хотите, чтобы некоторая часть файловой системы контейнера докера сохранялась между перезапусками контейнера.Если вы хотите включить скрипты Python, вы добавляете его с помощью DockerFile и собираете его.Пример ниже

FROM tomcat
LABEL maintainer="xxx"

RUN apt-get update && \
    apt-get -y install openssh-server && \  

WORKDIR /usr/src/app
COPY package.json .
RUN npm install
EXPOSE 4000   
CMD [ “npm”, “start” ] 

Docker использует многоуровневую систему.Поэтому убедитесь, что вы вставили те части своего кода, которые часто меняются, в нижней части файла Docker, чтобы вы могли использовать это.Из приведенного выше примера вы можете видеть, что я копирую файл python до конца и основываю свое изображение на образе tomcat.

WORKDIR задает рабочий каталог и полезен, если вы запускаете скрипт через Entyrpoint, CMD и т. Д. На самом деле это то же самое, что и cd /usr/src/app && np npm install, но люди предпочитают workdir для удобства чтения.Кроме того, это не имеет ничего общего с совершенно новым имиджем, о котором вы упоминали выше.

Надеюсь, вы получите общую картину.Дайте мне знать, если у вас есть какие-либо вопросы

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