.
просто означает «текущий рабочий каталог»
сборка Docker
В контексте команды docker build
вы используете его, чтобы указать, что контекст сборки для docker build
- текущий рабочий каталог.Вот так:
docker build -t mytag:0.1 .
Допустим, у вас есть такая структура:
/home/me/myapp/
├── Dockerfile
├── theapp.py
И вы вызываете команду docker build
из /home/me/myapp
- вы передадите текущий рабочий каталог какконтекст сборки.Это означает, что при сборке docker увидит следующую файловую структуру:
/
├── Dockerfile
├── theapp.py
Dockerfile
В контексте Dockerfile
это означает то же самое.Как внутри, так и снаружи изображения.
Возьмем эту инструкцию COPY
, например:
COPY . /app
Здесь .
означает текущий рабочий каталог, в котором выполняется команда docker build
,Это будет относительно контекста построения, который передается команде docker build
.
Для этой инструкции COPY
:
COPY theapp.py .
Это означает, что взять файл theapp.py
ископируйте его в рабочий каталог создаваемого образа докера.Этот каталог может быть установлен во время сборки с помощью инструкции WORKDIR
, так что:
WORKDIR /app
COPY theapp.py .
оставит вас с файлом /app/theapp.py
внутри полученного образа докера.
Наконец,эта COPY
инструкция:
COPY . .
Средство берет все из рабочего каталога, в котором выдается команда сборки docker, относительно контекста сборки, который ему передается.И скопируйте его в текущий рабочий каталог образа докера.