Docker, лекция 1. Hello World

Docker, лекция 1. Hello World

Данная серия лекций — сделанный для себя конспект на русском с сайта katacoda.com . Там эти уроки можно пройти бесплатно на английском языке.

Для начала найдем интересующий нас образ (первая команда) и установим его:

docker search redis
docker run -d redis

Для запуска контейнера в фоновом режиме необходимо указать параметр -d. По умолчанию Docker запускает последнюю доступную версию. Если требуется определенная версия, она может быть указана в виде тега, например, версия 3.2 будет docker run -d redis: 3.2.

Для просмотра информации о запущенных в фоне контейнерах есть команда:

docker ps

Так же имеется две полезные команды. Первая выводит дополнительную информацию о контейнере. Вторая выводит его логи.

docker inspect <friendly-name|container-id>
docker logs <friendly-name|container-id>

Redis установлен, но не доступен вне контейнера.

6379 — используемый порт Redis. Для проброса порта имеется такая команда -p <host-port>:<container-port> . Пример:

docker run -d --name redisHostPort -p 6379:6379 redis:latest

По умолчанию порт на хосте сопоставлен с 0.0.0.0, что означает доступ со всех IP-адресов. Вы можете указать конкретный IP-адрес при определении сопоставления портов, например, -p 127.0.0.1:6379:6379

Как хранить данные и не потерять их при переустановке контейнера

Если открыть документацию по Redis для Docker , то увидим информацию по хранению данных. Данный образ хранит её в /data .

Любые данные, которые необходимо сохранить на Docker хосте, а не внутри контейнера redis, должны храниться в /opt/docker/data/redis, что задается отдельным параметром: docker run -d --name redisMapped -v /opt/docker/data/redis:/data redis

Взаимодействие внутри контейнера

Ранее мы использовали -d для выполнения контейнера в отдельном фоновом состоянии. Без указания этого контейнер будет работать на переднем плане.

Если нужно взаимодействовать с контейнером (например, для доступа к оболочке bash), нужно добавить опции -it.

Примеры:

docker run ubuntu ps запустит контейнер ubuntu и выполнит команду ps.

docker run -it ubuntu bash даст доступ к bash shell внутри контейнера.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *