Есть много блогов о том, как это сделать. Вот статья Hacker Noon , в которой объясняется основной процесс.
Чтобы это работало, ваш образ должен содержать все зависимости времени выполнения для вашего приложения. В зависимости от используемой вами технологии, это может быть много или мало.
Основные шаги следующие:
- Выберите базовое изображение
- Установите необходимые пакеты
- Добавьте ваши пользовательские файлы
- Определите, какой пользователь будет (или может) запускать ваш контейнер
- Определить открытые порты
- Определить точку входа
- Определить метод конфигурации
Базовый пример может выглядеть примерно так:
FROM ubuntu:18.04
RUN apt-get install -y libssl1.1 libc6-amd64
COPY my_program /
RUN useradd my_user
USER my_user
EXPOSE 80
ENTRYPOINT "/my_program"