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

Docker позволяет создавать собственные образы с помощью специального файла — Dockerfile. В этом руководстве мы разберём основные принципы работы с Dockerfile и создадим простой образ на основе Ubuntu 22.04 с nginx.

1. Установка Docker

Перед началом работы необходимо установить Docker. Для этого выполните следующие команды:

sudo apt update
sudo apt install -y docker.io

Проверьте успешность установки:

docker --version

2. Создание Dockerfile

Создадим директорию для проекта и файл Dockerfile:

mkdir mydocker
cd mydocker
nano Dockerfile

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

# Загрузить базовый образ Ubuntu 22.04
FROM ubuntu:22.04

# Обновить программный репозиторий Ubuntu
RUN apt-get update

# Установить nginx
RUN apt-get install -y nginx && \
    rm -rf /var/lib/apt/lists/*

# Определение переменных среды
ENV nginx_conf /etc/nginx/nginx.conf

# Настройка конфигурации nginx
COPY default /etc/nginx/sites-available/default
RUN echo "\ndaemon off;" >> ${nginx_conf}

# Конфигурация тома
VOLUME ["/etc/nginx/sites-enabled", "/etc/nginx/certs", "/etc/nginx/conf.d", "/var/log/nginx", "/var/www/html"]

# Настройка сервисов и портов
CMD ["nginx", "-g", "daemon off;"]

# Порты для nginx
EXPOSE 80 443

3. Сборка Docker-образа

Теперь создадим образ с именем mynginx:

docker build -t mynginx .

Проверяем список образов:

docker images

4. Запуск контейнера

После успешного создания образа запускаем контейнер:

docker run -d -p 8080:80 -p 8443:443 mynginx

Проверяем работу:

curl http://localhost:8080

Либо открываем в браузере: http://localhost:8080

5. Управление контейнером

Остановить контейнер:

docker stop <container_id>

Удалить контейнер:

docker rm <container_id>

Удалить образ:

docker rmi mynginx

Заключение

Мы создали образ на базе Ubuntu 22.04, установили nginx и настроили конфигурацию. Использование Dockerfile позволяет автоматизировать процесс сборки и развертывания сервисов.