Докер

Как работает Dockerfile?

Как работает Dockerfile?
Вы можете развернуть только один контейнер с помощью образа докера. Однако, если вам нужно развернуть несколько контейнеров (каждый для разных задач) из одного образа, то что произойдет? Вы можете решить эту проблему с помощью файла dockerfile.

Dockerfile - это простой текстовый файл, содержащий все команды, которые пользователь может вызвать в командной строке для сборки или создания образа. С помощью сборки докеров вы можете легко автоматизировать сборку, которая последовательно запускает несколько команд, определенных в файле докеров.

Например, вы хотите загрузить образ докера из концентратора докеров для конкретных нужд разработки. Затем вы хотите обновить образ, установить несколько пакетов для процесса разработки. В этом случае вы можете создать файл докеров, включить все параметры для ваших конкретных нужд и создать свой собственный образ. После создания файла докеров вы можете использовать его снова и снова для создания одного и того же образа, не устанавливая вручную все необходимые пакеты для процесса разработки.

Dockerfile Basic

Перед работой с dockerfile важно знать, как сделать dockerfile. Dockerfile включает определенные ключевые слова, которые можно использовать для создания определенного образа. Краткое объяснение всех ключевых слов, используемых в файле докеров, приведено ниже:

Создание Dockerfile

В этом разделе мы создадим файл докеров для создания образа сервера LAMP из базового образа Ubuntu.

Во-первых, вам нужно будет создать каталог для хранения файла докеров. Вы можете создать его с помощью следующей команды:

mkdir ЛАМПА

Затем создайте каталог с именем Dockerfile внутри каталога:

нано-ЛАМПА / Dockerfile

Добавьте следующие строки:

ОТ ubuntu: последний
ОБСЛУЖИВАНИЕ Хитеш Джетва
ENV DEBIAN_FRONTEND = не интерактивный
ЗАПУСТИТЬ apt-get update -y && apt-get install apache2 mariadb-server
libapache2-mod-php php php-cli php-common php-mysql php-json php-curl -y
CMD ["apachectl", "- D", "FOREGROUND"]
EXPOSE 8080

Сохраните и закройте файл, когда закончите.

Создание образа с помощью Dockerfile

После создания файла Dockerfile вы можете легко создать собственный образ LAMP с помощью файла Dockerfile.

Сначала измените каталог на LAMP и выполните следующую команду, чтобы создать образ из этого файла:

cd ЛАМПА
docker build -t "лампа: Dockerfile".

Приведенная выше команда начнет загрузку последнего образа Ubuntu из Docker Hub и установит необходимые пакеты, указанные в Dockerfile. После успешного построения образа вы должны увидеть следующий результат:

Отправка контекста сборки демону Docker 2.048кБ
Шаг 1/6: ИЗ ubuntu: последний
последнее: извлечение из библиотеки / ubuntu
54ee1f796a1e: вытягивание завершено
f7bfea53ad12: Вытягивание завершено
46d371e02073: Вытягивание завершено
b66c17bbf772: Вытягивание завершено
Дайджест: sha256: 31dfb10d52ce76c5ca0aa19d10b3e6424b830729e32a89a7c6eee2cda2be67a5
Статус: загружено более новое изображение для ubuntu: последнее
---> 4e2eef94cd6b
Шаг 2/6: ТЕХНИЧЕСКОЕ ОБСЛУЖИВАНИЕ Hitesh Jethva
---> Работает в 047977af2c2a
Снятие промежуточного контейнера 047977af2c2a
---> 1331df625c4c
Шаг 3/6: ENV DEBIAN_FRONTEND = не интерактивный
---> Запуск в 3597152c7a1b
Снятие промежуточного контейнера 3597152c7a1b
---> 86c82c95e75d
Шаг 4/6: ЗАПУСТИТЕ apt-get update -y && apt-get install apache2 mariadb-server
libapache2-mod-php php php-cli php-common php-mysql php-json php-curl -y
Снятие промежуточного контейнера 322532299fd9
---> f6897a9554f7
Шаг 5/6: CMD ["apachectl", "- D", "FOREGROUND"]
---> Запуск в 669635bc8bcb
Снятие промежуточного контейнера 669635bc8bcb
---> e8400eb2e677
Шаг 6/6: ЭКСПОЗИЦИЯ 8080
---> Запуск в 937ae2b2d305
Снятие промежуточного контейнера 937ae2b2d305
---> 2123a857361d
Успешно построен 2123a857361d
Лампа успешно помечена тегом: Dockerfile

Теперь вы можете добавить свой недавно созданный образ в список, выполнив следующую команду:

образы докеров

Вы должны увидеть следующий результат:

РЕПОЗИТОРНЫЙ ТЕГ ИДЕНТИФИКАТОР ИЗОБРАЖЕНИЯ СОЗДАННЫЙ РАЗМЕР
lamp Dockerfile 2123a857361d 44 секунды назад 520MB
ubuntu последнее 4e2eef94cd6b 8 дней назад 73.9 МБ

Теперь у вас в руках собственный образ сервера LAMP. Вы также можете просмотреть историю каждой команды с помощью следующей команды:

лампа истории докеров: Dockerfile

Вы должны увидеть следующий результат:

ИЗОБРАЖЕНИЕ СОЗДАНО ПО РАЗМЕРУ КОММЕНТАРИЙ
2123a857361d 16 минут назад / bin / sh -c # (nop) EXPOSE 8080 0B
e8400eb2e677 16 минут назад / bin / sh -c # (nop) CMD ["apachectl" "-D" "FO… 0B
f6897a9554f7 16 минут назад / bin / sh -c apt-get update -y && apt-get inst… 446MB
86c82c95e75d 17 минут назад / bin / sh -c # (nop) ENV DEBIAN_FRONTEND = nonin… 0B
1331df625c4c 17 минут назад / bin / sh -c # (nop) MAINTAINER Hitesh Jethva 0B
4e2eef94cd6b 8 дней назад / bin / sh -c # (nop) CMD ["/ bin / bash"] 0B

Создание контейнера из образа LAMP

Теперь вы можете запустить контейнер из вашего образа, используя следующую команду:

docker run -dit lamp: Dockerfile

После запуска контейнера вы должны увидеть следующий вывод:

0d2beb7dba01bb763768b116f734ae68286cee00d2ae923b2b7241c39ad54208

Вы можете проверить работающий контейнер, используя следующую команду:

докер ps

Вы должны получить следующий результат:

КОНТЕЙНЕР ИДЕНТИФИКАЦИЯ ИЗОБРАЖЕНИЕ КОМАНДА СОЗДАЕТ СОСТОЯНИЕ НАЗВАНИЯ ПОРТОВ
c14794784eb2 lamp: Dockerfile "apachectl -D FOREGR…" 2 минуты назад Вверх на 2 минуты 0.0.0.0: 8080-> 8080 / tcp quirky_ramanujan

Заключение

В этом руководстве вы узнали, что такое Dockerfile и как создать образ докера с помощью Dockerfile. Это очень полезно для создания ваших пользовательских изображений вместо фиксации изменений в извлеченном изображении.

Левая кнопка мыши не работает в Windows 10
Если вы используете выделенную мышь со своим ноутбуком или настольным компьютером, но левая кнопка мыши не работает в Windows 10/8/7 по какой-то причи...
Курсор прыгает или перемещается случайным образом при наборе текста в Windows 10
Если вы обнаружите, что ваш курсор мыши прыгает или перемещается сам по себе, автоматически, случайным образом при вводе текста на ноутбуке или компью...
Как изменить направление прокрутки мыши и сенсорной панели в Windows 10
Мышь а также Сенсорная панельs не только упрощают вычисления, но и делают их более эффективными и требуют меньше времени. Мы не можем представить себе...