Команды для работы с Docker

Docker — программное обеспечение для автоматизации развёртывания и управления приложениями в среде виртуализации на уровне операционной системы, например LXC. Позволяет «упаковать» приложение со всем его окружением и зависимостями в контейнер, который может быть перенесён на любой Linux-системе с поддержкой cgroups в ядре, а также предоставляет среду по управлению контейнерами.
Сегодня мы поговорим о том как управлять Docker и какие есть основные команды для этого.  Большинство команд вы можете узнать в интерактивном справочнике https://www.docker.com/tryit/

Образы

# Скачать образ ubuntu с тегом latest

# То же самое, но указанное явно

# Скачать все теги образа ubuntu

# Получить список образов, которые есть на локальной машине

# Просмотр информации об образе
# Пример вывода — https://gist.github.com/bessarabov/4afa32c1ff3c958d4a9f

# Удалить образ ubuntu:latest

# Создать образ (в текущей папке должен находится файл Dockerfile)
# Эта команда создаст образ bessarabov/sample_nginx с тегом latest

# Создать новый тег на основе уще существующего образа

Работа с контейнерами

# Запустить контенейр в интерактивном режиме
# (ключи -i -t можно объединить в -it)

# Получить список контенеров
# (если не указать ключ -a, то будет показаны только работающие контенеры)

# Удалить контенер (можно удалить только остановленный контейнер).
# Команде можно передать как CONTAINER ID, так и NAME

# Запустить контейнер и автоматически удалить его после того как он
# остановится

# Запустить контейнер и указать ему имя ‘sample’. Если явно не указывать
# имя, то оно будет создано автоматически, типа ‘silly_hopper’

# Запустить контейнер в виде демона, сделать чтобы порт 8000 на хост
# машине соответствовал 80 порту в контейнере

# Вот как выглядит инфа об этом контейнере:

# Запуск контейнера, без его удаления. Следует помнить, что когда вы используете команду docker run, контейнер создается заново стирая все изменения, которые были произведены в нем. Для запуска контейнера не с нуля используется команда

# Для того чтобы остановить контейнер

# После того как контейнер остановлен его можно удалить (и он больше не будет показываться в docker ps -a:

# Удалить все контейнеры

# Удалить все образы

#  Если вы хотите сохранить изменения (допустим, в образ ubuntu вы установили какие-то новые пакеты, поменяли ядро и т.п.) в образе, то необходимо использовать команду commit.

boot2docker

# Выяснить на каком ip адресе работает виртуальная машина с докером

# Строка для добавления в .bash_profile, которая выставляет правильные
# переменные окружения
eval $(boot2docker shellinit 2> /dev/null)

Демон Docker

# Используйте следующие команды для перезапуска, старта или остановки daemon docker

# В случае ошибок можно посмотреть состояние docker

Обновление Docker

Для инсталлляции новой версии docker используйте команду  wget с ключом N:

Технология docker достаточно молодая, но как мне кажется весьма перспективная и интересная, я и сам до конца еще всего не знаю и не до конца понимаю, поэтому оставляйте Ваши замечания, наблюдения, уточнения.
Подробнее o Docker можно прочитать здесь http://rus-linux.net/MyLDP/vm/docker/docker-tutorial.html

Образы и контейнеры Docker в картинках