Я загрузил свои файлы на GitHub, чтобы вы могли следить за ними.

Это сценарий, в котором мы собираемся разместить статический веб-сайт из контейнера докеров. Для многих это простое упражнение - первое взаимодействие с докером или контейнером в целом.

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

Сравнение организации контейнеров и виртуальных машин,

Что такое NGINX?

NGINX - это программное обеспечение с открытым исходным кодом для веб-обслуживания, обратного проксирования, кэширования, балансировки нагрузки, потоковой передачи мультимедиа и т. Д. Помимо возможностей HTTP-сервера, NGINX также может функционировать как прокси-сервер для электронной почты (IMAP, POP3 и SMTP), а также обратный прокси-сервер и балансировщик нагрузки для серверов HTTP, TCP и UDP.

Образы Docker

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

Dockerfile

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

FROM - Ubuntu is an official image provided by DockerWORKDIR - (optional) sets the working directoryRUN - provides instructions to download all packages and updates
RUN - additional RUN command installs nginx in our containerCOPY - moving the html file into the nginx root directoryEXPOSE - instructs the container we are exposing port 80(TCP)CMD - provide defaults for an executing container

А теперь создаем наш html файл.

Давайте создадим наш контейнер Docker с помощью команды build, которая будет извлекать из всех изложенных нами инструкций.

$ docker build -t <image-name> <path>

Теперь вы увидите каждый шаг выполнения вашего файла докера. Установка и извлечение образа Ubuntu из официального репозитория, загрузка всех обновлений и установка nginx. Это будет выглядеть примерно так:

тег, который я использовал для своего изображения, был «dnginx»

Контейнер был успешно построен, ID изображения 065c35c74c2e (ваш будет другим) и помечен частью команды -t.

Давай проверим наш контейнер

$ docker images

Он вернет что-то вроде этого:

Проведем тест-драйв контейнера.

$ docker container run -d -p 8000:80 <name>:latest

Он вернет длинное число, которое является идентификатором вашего работающего контейнера. Давайте запустим команду, чтобы увидеть все запущенные контейнеры:

$ docker ps

Он вернет что-то вроде этого:

Мы дошли до последнего шага. Посмотрим, действительно ли это работает.

использовать адрес localhost: 8000

Оно живое!

и проверьте эту гиперссылку, если HTML-файл написан правильно ...

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

$ docker container stop <container ID>
$ docker container rm <container ID>$ docker image ls

Чтобы остановить и удалить все контейнеры (будьте осторожны при использовании в производственной среде!):

$ docker container stop $(docker container ls -aq)
$ docker container rm $(docker container ls -aq)

Идентификатор контейнера был получен в результате выполнения команды docker ps. Последняя команда здесь, image ls, перечислит изображения, созданные в данный момент.

$ docker image rm <image id>

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

Заключение

Спасибо за чтение. Не стесняйтесь задавать любые вопросы в комментариях ниже.

Больше контента на plainenglish.io