Наши партнеры

UnixForum





Библиотека сайта rus-linux.net

Как запустить контейнеры Docker в CentOS или в Fedora

Оригинал: How to run Docker containers on CentOS or Fedora
Автор: Dan Nanni
Дата публикации: May 8, 2014
Перевод: Н.Ромоданов
Дата перевода: январь 2015 г.

В последнее время Docker стал ключевой технологией для развертывания приложений в облачной среде. По сравнению с традиционной аппаратной виртуализации, контейнерная песочница Docker в качестве среды развертывания приложений дает ряд преимуществ, таких как более легковесная изоляция, мобильность развертывания, простота в обслуживании, и т.д. В настоящее время усилия разработчиков по рационализации управления и развертывания контейнеров Docker направляет компания Red Hat.

Docker также может быть очень полезен пользователям не только в облачной среде, но и в частности, если нужно протестировать конкретное программное обеспечение в конкретной среде Linux. Вы можете легко развернуть контейнер Docker для целевой среды, установить и протестировать в нем программное обеспечение, а затем уничтожить контейнер когда вы в нем все сделаете. Весь процесс от начала и до конца является достаточно эффективным, и, в общем, вы ничего не сможете испортить в вашей системе.

В этом руководстве я собираюсь рассказать о том, как создавать и управлять контейнерами Docker в системах CentOS и Fedora. Обратите внимание, что в настоящее время Docker поддерживается только для 64-разрядных хост-систем. Если вы хотите попробовать Docker на Ubuntu, то обратитесь к этому руководству.

Устанавливаем Docker на CentOS или Fedora

Чтобы установить Docker на CentOS, сначала подключите репозиторий EPEL, а затем используйте команду yum:

$ sudo yum install docker-io
$ sudo service docker start
$ sudo chkconfig docker on 

Чтобы установить Docker в Fedora, используйте следующие команды:

$ sudo yum install docker-io
$ sudo systemctl start docker.service
$ sudo systemctl enable docker.service 

После установки Docker на CentOS или в Fedora, вам следует добавить пользователя, под которым вы работаете, в группу docker, с тем чтобы иметь возможность запускать Docker в роли непривилегированного пользователя. Для этого используйте следующую команду:

$ sudo usermod -a -G docker $USER 

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

Теперь у вас должна быть возможность выполнять команду docker в роли непривилегированного пользователя.

Базовое использование Docker

Чтобы запустить новый контейнер Docker, вам необходимо решить, какой образ Docker должен использоваться в качестве контейнера. Вы можете поискать его в официальном списке образов Docker, в котором перечисляются общедоступные образы Docker. В списке образов Docker есть базовые образы Linux, которые поддерживаются командой разработчиков Docker (например, Ubuntu, Debian, Fedora, CentOS), а также специальные образы, которые распространяются пользователями (например, MySQL, Redis, WordPress).

Например, для того, чтобы в интерактивном режиме запустить контейнер Ubuntu, выполните следующую команду. Последний аргумент '/bin/bash' должен использован внутри контейнера после его запуска.

$ docker run -i -t ubuntu /bin/bash 

Когда вы запустите эту команду первый раз, она, возможно, скачает из сети образ Ubuntu Docker, а затем загрузит контейнер Docker, используя этот образ. Контейнер Ubuntu загрузится мгновенно, и вы внутри контейнера увидите консольное приглашение. Внутри контейнера песочнице вы получаете доступ к полноценной операционной системе Ubuntu.

Если в командной строке вы введете 'exit', то выйдите из контейнера и он будет остановлен.

Чтобы получить список всех контейнеров (в том числе и остановленных), выполните следующую команду:

$ docker ps -a 
CONTAINER ID        IMAGE               COMMAND             CREATED              STATUS              PORTS               NAMES
6a08a0b2bb4c        ubuntu:14.04        /bin/bash           About a minute ago   Exit 0                                  cocky_ritchie

Чтобы при работающем демоне заново запустить остановленный контейнер:

$ docker start [идентификатор_контейнера] 

Чтобы удалить остановленный контейнер:

$ docker rm [идентификатор_контейнера]

Чтобы подключиться к контейнеру, работающему в фоновом режиме, для того, чтобы посмотреть, что с ним, или его использовать:

$ docker attach [идентификатор_контейнера] 

Вы можете достаточно просто настроить работающий контейнер (например, установить новые программы). Если вы хотите сохранить изменения в текущем контейнере, то вам сначала нужно выйти из интерактивного режима контейнера, набрав в командной строке команду "exit". А затем сохранить измененный образ как еще один образ, использовав для этого следующую команду:

$ docker commit [идентификатор_контейнера] [новое_имя_образа] 

Чтобы узнать идентификатор вашего контейнера, вы можете воспользоваться командой "docker ps -a" так, как это было описано выше.

После того, как вы создали новый образ, вы можете запустить новый контейнер с этим образом.

Вы также можете скачать любые общедоступные образы контейнеров (например, ubuntu, bowery/mysql) и сохранить их в локальном репозитории следующим образом.

$ docker pull [имя_образа] 

Чтобы посмотреть список всех локально загруженных/сохраненных образов контейнеров:

$ docker images 

Вы можете выбрать конкретный образ, который будет загружен из контейнера:

$ docker run -i -t [идентификатор_образа] /bin/bash 

Чтобы удалить образ контейнера из локального репозитория:

$ docker rmi [идентификатор_образа]