Как собра ть контейнерный образ
1. Cоздайте
Containerfile — это текстовый файл с инструкциями для сборки образа контейнера. Это полный аналог Dockerfile.
# ИНСТРУКЦИЯ [опции] аргумент
FROM docker.io/library/nginx:alpine
COPY default.conf /etc/nginx/conf.d/default.conf
COPY index.html /usr/share/nginx/html/
COPY style.css /usr/share/nginx/html/
EXPOSE 80
Другие инструкции можно посмотреть в руководстве: man сontainerfile.
Рекомендации
-
Контейнеры создаются на основе других образов (кроме scratch), поэтому в Containerfile должна быть хотя бы одна инструкция
FROM. -
Рекомендуем указывать полный путь к образу, чтобы при сборке Podman понимал, в каком реестре искать о браз.
-
Файлы
index.htmlиstyle.cssнужно создать в директории, где находится Containerfile. Если они берутся с хостовой машины, нужно указать абсолютные пути для них.
2. Напишите конфигурацию приложения
На этом шаге подразумевается конфигурация того приложения, для которого собирается контейнер. В случае Nginx конфигурация может выглядеть так:
# default.conf
server {
listen 80;
location / {
root /usr/share/nginx/html;
try_files $uri $uri/ =404;
}
location /api {
add_header Content-Type application/json;
return 200 '{"msg": "Hello from Nginx JSON file!"}';
}
}
3. Соберите образ
Для сборки образа существует команда podman build.
podman build -q -t my_own_nginx_image .
Точка в конце команды указывает путь к директории с файлами, необходимыми для сборки образа.
Вывод
# вывод - id образа
bddc36f6a058a6217dcf439a9b03877d60b17252d28fb57b13c142ddfa81b306
Опции:
4. Проверьте работоспособность контейнера
Чтобы проверить работоспособность контейнера с образом, рекомендуем запустить контейнер и приложение по инструкции.