[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"question-docker-kakie-osnovnye-instruktsii-ispolzuyutsya-v-dockerfile":3},{"id":4,"slug":5,"topicId":6,"topicSlug":7,"topicName":8,"topicEmoji":9,"question":10,"answer":11,"codeLang":12,"codeSrc":12,"important":12,"commonMistakes":12,"modernUsage":12,"difficulty":13,"tags":14,"related":18,"progress":19,"seo":20},1078,"kakie-osnovnye-instruktsii-ispolzuyutsya-v-dockerfile",17,"docker","Docker","🐳","Какие основные инструкции используются в Dockerfile?","Инструкции Dockerfile — это команды, определяющие содержимое и поведение Docker-образа.\n\n| Инструкция | Описание |\n|---|---|\n| `FROM` | Задаёт базовый образ. Каждый Dockerfile должен начинаться с `FROM`. Пример: `FROM eclipse-temurin:17-jre-alpine` |\n| `RUN` | Выполняет команду в процессе сборки образа и создаёт новый слой. Пример: `RUN apt-get update && apt-get install -y curl` |\n| `COPY` | Копирует файлы и директории из контекста сборки в файловую систему образа. Пример: `COPY target\u002Fapp.jar \u002Fapp\u002Fapp.jar` |\n| `ADD` | Аналог `COPY`, но дополнительно поддерживает URL и автоматическую распаковку архивов (tar, gzip и т.д.) |\n| `CMD` | Определяет команду по умолчанию, которая выполнится при запуске контейнера. Может быть переопределена аргументами `docker run` |\n| `ENTRYPOINT` | Определяет исполняемый файл, который запустится при старте контейнера. В отличие от `CMD`, не так легко переопределяется |\n| `EXPOSE` | Документирует, какой порт слушает приложение внутри контейнера. Не публикует порт автоматически — для этого нужен `-p` при `docker run` |\n| `ENV` | Устанавливает переменную окружения, которая будет доступна и при сборке, и в работающем контейнере. Пример: `ENV JAVA_OPTS=\"-Xmx512m\"` |\n| `ARG` | Определяет переменную, доступную только во время сборки. Пример: `ARG JAR_FILE=target\u002F*.jar` |\n| `WORKDIR` | Устанавливает рабочую директорию для последующих инструкций `RUN`, `CMD`, `ENTRYPOINT`, `COPY`, `ADD`. Пример: `WORKDIR \u002Fapp` |\n| `VOLUME` | Создаёт точку монтирования для тома. Данные в этой директории будут сохраняться вне контейнера. Пример: `VOLUME \u002Fdata` |\n| `USER` | Задаёт пользователя, от имени которого выполняются последующие инструкции и запускается контейнер. Пример: `USER appuser` |\n| `LABEL` | Добавляет метаданные к образу. Пример: `LABEL maintainer=\"dev@example.com\"` |\n| `HEALTHCHECK` | Определяет команду для проверки состояния контейнера |\n\n> **На собеседовании:** не нужно перечислять все инструкции наизусть. Важно знать ключевые: FROM, RUN, COPY, CMD, ENTRYPOINT, EXPOSE, ENV, WORKDIR. Часто задают уточняющие вопросы про разницу CMD\u002FENTRYPOINT и COPY\u002FADD — это отдельные вопросы собеседования.","","junior",[15,16,17,7],"instructions","основы","dockerfile",[],null,{"title":21,"description":22,"ogTitle":23,"ogDescription":24,"keywords":25,"schemaAnswer":39,"featuredSnippetReady":40},"Основные инструкции Dockerfile: FROM, RUN, COPY, CMD — Gymterview","Инструкции Dockerfile: FROM, RUN, COPY, ADD, CMD, ENTRYPOINT, EXPOSE, ENV, ARG, WORKDIR, VOLUME, USER, LABEL, HEALTHCHECK. Таблица с описаниями и примерами.","Инструкции Dockerfile: полная таблица с описаниями — Gymterview","Все инструкции Dockerfile: FROM, RUN, COPY, ADD, CMD, ENTRYPOINT, EXPOSE, ENV, ARG, WORKDIR, VOLUME, USER, LABEL, HEALTHCHECK.",[26,27,28,29,30,31,32,33,34,35,36,37,38],"инструкции Dockerfile","FROM","RUN","COPY","CMD","ENTRYPOINT","EXPOSE","ENV","ARG","WORKDIR","VOLUME","USER","собеседование","Ключевые инструкции Dockerfile: FROM (базовый образ), RUN (выполнение команд при сборке), COPY (копирование файлов), ADD (расширенное копирование с распаковкой), CMD (команда по умолчанию), ENTRYPOINT (основная команда), EXPOSE (документирование порта), ENV (переменные окружения), ARG (переменные сборки), WORKDIR (рабочая директория), VOLUME (точка монтирования), USER (пользователь), HEALTHCHECK (проверка состояния).",true]