Продолжим тему Docker.
Немного о Docker Hub. По сути это репозиторий готовых образов контейнеров. После регистрации будет доступен приватный репозиторий куда бесплатно можно будет размещать один собственный образ.
Установка контейнера из Docker.Hub
Docker Hub — https://hub.docker.com
Установим контейнер, для примера Nginx — https://hub.docker.com/r/nginxdemos/hello:
docker run -P -d nginxdemos/hello
ключ -d позволяет запускать контейнер в фоне.
Проверим запушен ли наш контейнер с Nginx:
docker ps
Как видим при обращении к нашему хосту по порту 32768 мы перенаправим на 80-й порт контейнера с Nginx.
Попробуем перенаправить на другой более удобный порт:
Остановим контейнер:
docker stop quizzical_dijkstra
Запустим с пробросом порта:
docker run -d -p 8000:80 nginxdemos/hello
Проверим:
docker ps
Порт изменился.
Установим еще один контейнер уже с Apache:
docker run -P -d bitnami/apache
docker ps
Настроим Apache под http(s):
Остановим контейнер:
docker stop nice_yalow
Запустим с пробросом порта:
docker run -d -p 8800:8080 bitnami/apache
или c https
docker run -d -p 9443:8443 -p 8800:8080 bitnami/apache
Проверим
docker ps
Создаем свой образ
Создаем собственный контейнер:
docker run -it --name testapp --hostname testapp ubuntu bash
Внутри контейнера обновим индексы:
apt update
Установим простенькую программу COWSAY. Хороша тем, что наглядно демонстрирует работу системы, нечто похожее на «Hello world!»
apt install cowsay
Ссылку на запуск:
ln -s /usr/games/cowsay /usr/bin/cowsay
cowsay "TEST"
Превратим созданный контейнер в образ, выйдя из контейнера:
exit
docker commit testapp airmeno/mytestapp
Посмотрим наши доступные образы :
docker images
Запустим наш контейнер программой:
docker run airmeno/mytestapp cowsay "Hello my frend!"
Загрузим наш образ в репозиторий Docker:
docker login
вводим наш логин пароль от Docker
Выгружаем образ:
docker push airmeno/mytestapp