Создание собственного образа Docker

Регистрация

Регистрируемся на https://hub.docker.com:

mkdir -p docker/omegabi; cd docker/omegabi
docker login

В ответ вводим имя пользователя и пароль https://hub.docker.com.
Создается файл с токеном ~/.docker/config.json
Теперь мы можем работать со своим docker-репозиторием без ввода аутентификационных данных.

Создаем свой образ

Создаем Dockerfile:

FROM ubuntu:focal
RUN useradd -rm -d /home/ubuntu -s /bin/bash -G sudo -u 1001 ubuntu
SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN echo 'ubuntu:ubuntu' | chpasswd
RUN echo 'DEBIAN_FRONTEND=noninteractive' >> /etc/environment
RUN apt-get -qq update
RUN apt-get -qq -y install sudo apt-utils
RUN echo -e "\nubuntu  ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers
USER ubuntu
RUN mkdir ~/.ssh; chmod 700 ~/.ssh
RUN echo 'ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEAiiyvoDBkemX5EOgIwd7Dgkeozjnr20QHe7j6mVOATikHew4wmiqUMIQc9ATmz0c68F9na4oUFVodIa39d0bKpmpproKy5s70V7qbcMwful0uxkxoWTsR5SRzv18AAqrb9XeMDycvcGw8Ie3h+shIRtxgQ/faYSnNjRNLh7zUVidynqQeML5nPafXIsQDWPbV4CZN3YjLJaXT6cjwTFTMKprYsXfBZmPBslmQJ876F4WbIZ3+hAfplJc4+4IzEZos2BoqSbydJGnlp7CzRlUNEfrpZJ+UfSExmc2O0oM/bzmJGlVDkb8Uib/knEnhW/vCQJBB99BRU/32xyaS+cXW7w== sil-omega' > ~/.ssh/authorized_keys
RUN sudo apt-get -qq upgrade
RUN sudo apt-get -qq -y install curl vim git sysvbanner
RUN curl -fsSL https://deb.nodesource.com/setup_16.x | sudo -E bash -
RUN sudo apt-get -qq -y install nodejs

Строим образ с именем omegabi_angular:

docker build -t omegabi_angular .

Публикация

Смотрим идентификатор созданного контейнера командой “docker ps -a” и сохраним его. В нашем примере это: 66392429aa6f.

docker commit -m "Angular CLI" -a "Alex Unknown" 66392429aa6f dsagkomega/omegabi_angular

Загружаем контейнер в удаленный репозиторий hub.docker.com:

docker push dsagkomega/omegabi_angular

Опубликовано: 30.10.2017 Обновлено: 18.01.2024