Различия
Показаны различия между двумя версиями страницы.
| Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
| system:dockerfile [2024/05/02 00:13] – mirocow | system:dockerfile [2024/05/02 19:24] (текущий) – mirocow | ||
|---|---|---|---|
| Строка 3: | Строка 3: | ||
| ====== Dockerfile ====== | ====== Dockerfile ====== | ||
| - | <note tip>В общем | + | ===== Инструкции ===== |
| - | <note tip> | + | |
| - | * Если во время выполнения определена только одна из инструкций, то и CMD и ENTRYPOINT будут иметь одинаковый эффект. | + | * **RUN**: В основном используемый для создания образов и установки |
| - | * Те же результаты будут, если использовать | + | * **CMD**: Устанавливает параметры по умолчанию, |
| + | * **ENTRYPOINT**: | ||
| + | |||
| + | <note tip> | ||
| + | * В общем случае у вас должен быть Dockerfile CMD, а не Compose command:. Если не определить ни одной из них, | ||
| + | * В идеале | ||
| </ | </ | ||
| + | |||
| + | ===== ENTRYPOINT / CMD ===== | ||
| + | |||
| ^ Режим | ^ Режим | ||
| Строка 39: | Строка 47: | ||
| === endpoint === | === endpoint === | ||
| + | ===== Описание ===== | ||
| + | |||
| + | * FROM — указывает название образа (image), который будет взят за основу. | ||
| + | * ENV — устанавливает переменную среды | ||
| + | * RUN — запустить команду в контейнере (все команды исполняются с полными правами в пределах контейнера) | ||
| + | * ADD — добавить файл в контейнер | ||
| + | * VOLUME — указать монтируемые директории (их можно монтировать на хост машину или на другие контейнеры) | ||
| + | * EXPOSE — указать транслируемые порты (их можно транслировать на хост машину или на другие контейнеры) | ||
| + | * CMD — запустить процесс (это и будет процесс, | ||
| + | |||
| + | <code bash> | ||
| + | # Используем за основу контейнера Ubuntu 14.04 LTS | ||
| + | FROM ubuntu: | ||
| + | # Переключаем Ubuntu в неинтерактивный режим — чтобы избежать лишних запросов | ||
| + | ENV DEBIAN_FRONTEND noninteractive | ||
| + | # Устанавливаем локаль | ||
| + | RUN locale-gen ru_RU.UTF-8 && dpkg-reconfigure locales | ||
| + | |||
| + | # Добавляем необходимые репозитарии и устанавливаем пакеты | ||
| + | RUN apt-get install -y software-properties-common | ||
| + | RUN add-apt-repository -y ppa: | ||
| + | RUN add-apt-repository -y ppa: | ||
| + | RUN sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 4F4EA0AAE5267A6C | ||
| + | RUN apt-get update | ||
| + | RUN apt-get upgrade -y | ||
| + | RUN apt-get install -y wget curl php5-fpm php5-mysql php5-gd php5-curl php-pear php-apc php5-mcrypt php5-imagick php5-memcache supervisor nginx | ||
| + | |||
| + | # Добавляем описание виртуального хоста | ||
| + | ADD astgo.ru / | ||
| + | # Отключаем режим демона для Nginx (т.к. запускать будем сами) | ||
| + | RUN echo " | ||
| + | # Отключаем режим демона для php-fpm | ||
| + | RUN sed -i -e " | ||
| + | # Добавляем конфиг supervisor (описание процессов, | ||
| + | ADD supervisord.conf / | ||
| + | |||
| + | # Объявляем, | ||
| + | VOLUME ["/ | ||
| + | # Объявляем, | ||
| + | EXPOSE 80 | ||
| + | # Запускаем supervisor | ||
| + | CMD ["/ | ||
| + | </ | ||
| ====== Ссылки ====== | ====== Ссылки ====== | ||
| {{topic> | {{topic> | ||