Как запустить экземпляр Docker из файла Docker?

Kak Zapustit Ekzemplar Docker Iz Fajla Docker



Docker — это популярная открытая платформа, которая повсеместно используется для создания, тестирования, развертывания и доставки приложений в контейнерной среде. Docker использует уровень виртуализации ОС и поддерживает различные компоненты, такие как контейнеры Docker, образы, сети и том Docker.

Контейнеры Docker — это один из важнейших компонентов платформы Docker, который упаковывает программу, параметры конфигурации и зависимости с помощью образа Docker. Образ Docker — это простой шаблон или снимок контейнера, который помогает контейнеру контейнеризировать приложение. Эти образы в основном доступны в официальном реестре Docker Hub. Пользователи также могут создавать эти изображения в соответствии с требованиями проекта с помощью Dockerfile.

Этот блог объяснит:







Что такое Dockerfile?

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



Основные команды Dockerfile

Некоторые основные команды Dockerfile, используемые для определения базового снимка контейнера, перечислены ниже в табличной форме:



Команды Описание
ОТ « ОТ Команда «используется для определения базового образа для шаблона контейнера. Эти образы взяты из официального реестра Docker Docker Hub.
СОДЕРЖАТЕЛЬ « СОДЕРЖАТЕЛЬ Команда определяет информацию об авторе (имя и адрес электронной почты), который создает образ Docker.
РАБОЧИЙ ДИАПАЗОН Он указывает рабочий каталог контейнерного приложения.
КОПИРОВАТЬ Используется для копирования исходных файлов и файлов конфигурации из хост-системы в указанный путь контейнера Docker.
ДОБАВЛЯТЬ « ДОБАВЛЯТЬ Команда аналогична команде « КОПИРОВАТЬ », но он также поддерживает удаленный URL-адрес для добавления файла из URL-адреса в путь к контейнеру, например из репозитория GitHub, в путь к контейнеру.
БЕГАТЬ « БЕГАТЬ » используется для запуска команд в контейнере. В Dockerfile он в основном используется для управления и установки дополнительных зависимостей внутри контейнера.
КМД « КМД » определяет точки по умолчанию для контейнеров Docker. Он в основном определяет исполняемые файлы и параметры по умолчанию для « ВХОДНАЯ ТОЧКА ».
ВХОДНАЯ ТОЧКА « ВХОДНАЯ ТОЧКА Команда также используется для установки исполняемых файлов контейнера Docker. По сути, он устанавливает приложения по умолчанию, которые каждый раз используются в контейнере. Команда ENTRYPOINT также используется один раз в Dockerfile.
ПОЛЬЗОВАТЕЛЬ Эта команда используется для установки UID (имени пользователя) для выполнения команд в контейнере.
ОБЪЕМ « ОБЪЕМ Команда «используется для привязки или монтирования внешнего тома (файловой системы) с контейнером.
ЕНВ « ЕНВ Команда используется для установки переменных среды контейнера.
АРГ « АРГ используется для передачи аргументов внутри контейнера.
РАЗОБЛАЧАТЬ « РАЗОБЛАЧАТЬ Команда » указывает раскрывающие порты, на которых будет выполняться контейнер.
НАСТРОЙКА Он считывает инструкции из базового образа, но запускает эти инструкции через нижестоящий образ.
ЭТИКЕТКА « ЭТИКЕТКА используется для указания метаданных снимка контейнера.

Как запустить экземпляр Docker из файла Docker в Docker?

Чтобы запустить экземпляр или контейнер Docker с помощью Dockerfile, сначала создайте Dockerfile. Затем создайте базовый снимок контейнера с помощью Dockerfile. После этого запустите снимок, чтобы запустить экземпляр Docker.





Следуйте приведенным ниже инструкциям для иллюстрации.

Шаг 1. Создайте файл Dockerfile.

Сначала создайте Dockerfile. Помните, что Dockerfile не имеет расширения файла. После этого вставьте в файл следующие команды:



ИЗ Голанга: 1,8

РАБОЧИЙ ДИАПАЗОН / идти / источник / приложение

КОПИРОВАТЬ main.go.

БЕГИТЕ, идите строить веб сервер .

РАЗОБЛАЧАТЬ 8080 : 8080

ВХОДНАЯ ТОЧКА [ './веб сервер' ]

Шаг 2: Создайте программный файл

Затем создайте новый файл с именем « main.go », который содержит простую программу Golang. Для этого вставьте в файл следующую программу:

пакет основной
Импортировать (
'ФМТ'
'бревно'
'сеть/http'
)

обработчик функций ( В http.ResponseWriter, г * http.Запрос ) {
fmt.Fprintf ( В , «Привет! Добро пожаловать в учебник LinuxHint» )
}
главная функция ( ) {
http.HandleFunc ( '/' , обработчик )
журнал.Фатальный ( http.ListenAndServe ( '0.0.0.0:8080' , ноль ) )
}

Шаг 3. Создайте снимок контейнера

Теперь создайте снимок контейнера Docker, используя « docker build -t <имя-образа> -f <путь к файлу Docker> . »:

сборка докера go-img Докерфайл.

В приведенной выше команде « Опция «задает имя или тег изображения», « Параметр » указывает путь к файлу Dockerfile, из которого механизму Docker необходимо прочитать контекст сборки:

Чтобы проверить, успешно ли создан образ, запустите команду « docker images <имя-изображения> » команда:

Docker-изображения

Вывод показывает, что мы успешно создали снимок контейнера из Dockerfile:

Шаг 4. Запустите моментальный снимок, чтобы запустить контейнер

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

запуск докера -п 8080 : 8080 --имя продолжать go-img

В приведенной выше команде « -п Опция «» запускает контейнер на « 8080 «порт», « -имя » задает имя контейнера и « Опция ” запускает контейнер в отключенном режиме (фоновая служба):

Чтобы проверить, выполняется контейнер или нет, перечислите запущенные контейнеры, используя « докер, пс » команда:

докер пс

Теперь перейдите к « http://localhost:8080 » и проверьте, работает ли приложение на раскрывающем порту или нет:

Приведенный выше вывод показывает, что мы фактически запустили экземпляр Docker с помощью Dockerfile.

Как запустить экземпляр из файла Docker в Docker Compose?

Docker Compose — еще один крупный плагин платформы Docker, который позволяет нам одновременно запускать несколько экземпляров в разных контейнерах. Пользователи также могут запустить экземпляр Docker из Dockerfile с помощью плагина Docker Compose. Для иллюстрации выполните следующие действия.

Шаг 1. Создайте файл Dockerfile.

Сначала создайте Dockerfile. Например, мы используем тот же Dockerfile и файл программы, которые используются в приведенном выше разделе:

ИЗ Голанга: 1,8

РАБОЧИЙ ДИАПАЗОН / идти / источник / приложение

КОПИРОВАТЬ main.go.

БЕГИТЕ, идите строить веб сервер .

РАЗОБЛАЧАТЬ 8080 : 8080

ВХОДНАЯ ТОЧКА [ './веб сервер' ]

Шаг 2. Создайте файл docker-compose.yml.

Далее создайте « docker-compose.yml » и скопируйте в него следующие пары ключей:

версия: '3'

услуги:

сеть:
строить: .
порты:
- 8080 : 8080

В вышеупомянутом отрывке:

  • « услуги используется для указания сервисов компоновки, которые будут выполняться в отдельном контейнере. Для иллюстрации мы настроили только один сервис « сеть », чтобы сохранить код чистым и простым.
  • « строить Пара ключей используется для чтения контекста сборки из файла Dockerfile. Здесь докер прочитает инструкции из Dockerfile и соответствующим образом создаст контейнер.
  • « порты Ключ » определяет раскрывающие порты, на которых будет выполняться контейнер.

Шаг 3. Запустите экземпляр Docker.

Теперь запустите экземпляр Docker в контейнере, используя команду « докер-составить » команда:

докер-составить

Для проверки проверьте список запущенных контейнеров Compose, используя команду « docker-compose PS » команда:

docker-compose пс

Вывод показывает, что « сеть » служба успешно выполняется в « golangapp-web-1 » контейнер:

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

Это все, что касается запуска экземпляра Docker из Dockerfile.

Заключение

Чтобы выполнить экземпляр Docker в контейнере из Dockerfile, сначала создайте Dockerfile. Добавьте в файл команды для создания образа или шаблона контейнера Docker. Затем создайте образ контейнера или снимок, используя команду « docker build -t <имя-образа> -f <путь к Dockerfile> . команда. Теперь выполните образ контейнера, чтобы запустить экземпляр Docker. Пользователи также могут использовать компоновку Docker для запуска экземпляра Docker из Dockerfile. В этом посте показано, как запустить экземпляр Docker из файла Dockerfile.