Главная

Docker


Сборка образа :

По-умолчанию Docker кеширует каждый шаг и формируя кеш сборок. Чтобы отключить кеш, например для использования последнего apt-get update, используйте флаг --no-cache.


sudo docker build -t имя_нового_образа путь_к_Dockerfile_или_к_GitHub
# в качестве пути к файлу нужно указать точку если вы находитесь в папке с Dockerfile


FROM :

FROM задает базовый образ для последующих инструкций.

Значения имя_версии_образа не обязательны. Если любая из этих опций не задана Докер по умолчанию использует значение latest. Сборщик Docker возвращает ошибку если значение tag не найдено.


FROM имя_образа
# или 
FROM имя_образа:имя_версии_образа


RUN :

RUN — запускает команды, создаёт слой образа. Используется для установки пакетов и библиотек внутри контейнера;


RUN apt-get upgrade -y
# или 
RUN apt-get install -y mvn


ENV :

ENV позволяет задавать постоянные переменные среды, которые будут доступны в контейнере во время его выполнения.


ENV  FLASK_APP=app.py
ENV  FLASK_RUN_HOST=0.0.0.0


CMD :

Основное предназначение CMD передача параметров по-умолчанию для запуска контейнера.
CMD ничего не выполняет во время сборки, но задает команду которая будет выполнена при запуске образа.


CMD ["/bin/bash","-c", "echo $HOME"]


ENTRYPOINT :

ENTRYPOINT ничего не выполняет во время сборки, но задает команду которая будет выполнена при запуске образа.


ENTRYPOINT ["executable", "param1", "param2"]


COPY :

Инструкция COPY берет два аргумента, путь откуда скопировать файл + путь куда скопировать файлы и копирует это в собственную файловую систему контейнера. Не умеет скачивать по URL.


COPY исходный_путь путь_назначения
COPY /media/static /app

ADD :

Не рекомнедуется !
Инструкция ADD делает всё то же, что и инструкция COPY. Но ещё может распаковывать локальные .tar файлы и скачивать странички по URL .


ADD исходный_путь_или_URL путь_назначения


VOLUME :

VOLUME определяет, где контейнер будет хранить постоянные данные и получать к ним доступ.


VOLUME /app


EXPOSE :

EXPOSE открывает порт


EXPOSE 8181


WORKDIR :

WORKDIR — устанавливает рабочую директорию для инструкции CMD и ENTRYPOINT.


WORKDIR /app


ARG  :

ARG — определяет переменную для передачи Docker’у во время сборки.





MAINTAINER :

Инструкция MAINTAINER позволяет указать автора образа.


MAINTAINER имя_автора


LABEL :

Инструкция LABEL добавляет метаданные для образа, состоит из пар ключ-значение.


LABEL version = "1.0"
# или 
LABEL "com.example.vendor" = "ACME Incorporated"


Полезные ссылки: