Dockerfile:
FROM alt:alt
LABEL maintainer="admin@test.alt"
LABEL description="Demo image for buildah examples"
ENV APP_DIR=/app
WORKDIR $APP_DIR
# Установка пакетов
RUN apt-get update && \
apt-get install -y curl bash && \
apt-get clean
# Копирование файлов в контейнер
COPY hello.sh .
# Сделать скрипт исполняемым
RUN chmod +x hello.sh
# Порт (для примера)
EXPOSE 8090
# Команда по умолчанию
CMD ["./hello.sh"]
hello.sh:
#!/bin/sh echo "Hello from Buildah demo container!" echo "Container hostname: $(hostname)"
$ buildah bud -t myapp:latest .
Ожидаемый вывод:
STEP 1/10: FROM alt:latest STEP 2/10: LABEL maintainer="admin@test.alt" STEP 3/10: LABEL description="Demo image for buildah examples" STEP 4/10: ENV APP_DIR=/app STEP 5/10: WORKDIR $APP_DIR STEP 6/10: RUN apt-get update && apt-get install -y curl bash && apt-get clean ... STEP 7/10: COPY hello.sh . STEP 8/10: RUN chmod +x hello.sh STEP 9/10: EXPOSE 8090 STEP 10/10: CMD ["./hello.sh"] COMMIT myalt Getting image source signatures Copying blob 7066ca05e439 skipped: already exists Copying blob fb9fc20ce189 skipped: already exists Copying blob 475224c3ec5c done | Copying config 5674dd2fc2 done | Writing manifest to image destination --> 5674dd2fc28a Successfully tagged localhost/myalt:latest 5674dd2fc28ac10beb78fe9ee78ffc6788f731c1560c4dd2a49edace7bacc68d
Примечание
buildah bud использует файл Dockerfile в текущем каталоге. Если используется файл с другим именем или расположением, необходимо указать его с помощью параметра -f, при этом также требуется указать контекст сборки (обычно текущий каталог .).
Примечание
/tmp, используемого для хранения временных файлов.
/tmp по умолчанию размещается в файловой системе tmpfs. Его размер определяется автоматически (если параметр size не задан) и обычно составляет до половины объёма оперативной памяти.
/etc/fstab:
tmpfs /tmp tmpfs nosuid,size=4G 0 0После внесения изменений необходимо перемонтировать файловую систему:
# mount -o remount /tmp
/var/tmp.