Главная
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"