Я загрузил свои файлы на 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