Докер - это популярная система виртуализации на уровне операционных систем с открытым исходным кодом (известная как «контейнеризация») Технология, которая в основном работает в Linux и Windows. Докер упрощает создание, развертывание и запуск приложений с помощью контейнеры.
С контейнеры, разработчики (и системные администраторы) могут упаковать приложение со всем необходимым для запуска приложения - код, среда выполнения, библиотеки, переменные среды и файлы конфигурации, и отправить все это как единое целое упаковка. Да, это здорово!
В этой статье мы покажем вам, как установить Докер CE (Community Edition), создать и запустить контейнеры Docker на Ubuntu распределение.
1. Установить Докер CE, сначала вам нужно удалить старые версии Докер были позваны докер
, docker.io
, или докер-движок
из системы с помощью следующей команды.
$ sudo apt-get remove docker docker-engine docker.io containerd runc.
2. Затем вам необходимо настроить репозиторий Docker для установки и обновления Docker из репозитория с помощью следующих команд.
$ sudo apt-get update. $ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key добавить - $ sudo add-apt-repository "deb [arch = amd64] https://download.docker.com/linux/ubuntu $ (lsb_release -cs) стабильный "
3. Обновите индекс пакета apt и установите последнюю версию Докер CE используя следующие команды.
$ sudo apt-get update. $ sudo apt-get install docker-ce docker-ce-cli containerd.io.
Установка Docker CE в Ubuntu
Чтение списков пакетов... Готово. Построение дерева зависимостей Чтение информации о состоянии... Готово. Будут установлены следующие дополнительные пакеты: aufs-tools cgroupfs-mount pigz. Будут установлены следующие НОВЫЕ пакеты: aufs-tools cgroupfs-mount containerd.io docker-ce docker-ce-cli pigz. 0 обновлено, 6 вновь установлено, 0 удалено и 167 не обновлено. Необходимо получить 50,7 МБ архивов. После этой операции будет использовано 243 МБ дополнительного дискового пространства. Вы хотите продолжить? [Д / Н] Д. Получить: 1 http://archive.ubuntu.com/ubuntu бионический / вселенная amd64 pigz amd64 2.4-1 [57.4 kB] Получить: 2 https://download.docker.com/linux/ubuntu бионический / стабильный amd64 containerd.io amd64 1.2.4-1 [19,9 МБ] Получить: 3 http://archive.ubuntu.com/ubuntu bionic / universe amd64 aufs-tools amd64 1: 4.9 + 20170918-1ubuntu1 [104 кБ] Получить: 4 http://archive.ubuntu.com/ubuntu bionic / universe amd64 cgroupfs-mount all 1.4 [6,320 B] Получить: 5 https://download.docker.com/linux/ubuntu бионический / стабильный amd64 docker-ce-cli amd64 5: 18.09.3 ~ 3-0 ~ ubuntu-bionic [13,1 МБ] Получить: 6 https://download.docker.com/linux/ubuntu бионический / стабильный amd64 docker-ce amd64 5: 18.09.3 ~ 3-0 ~ ubuntu-bionic [17,4 МБ] Получено 50,7 МБ за 7 секунд (7,779 кБ / с) ...
4. После успешной установки Докер CE пакет, служба должна запускаться автоматически и автоматически запускаться при загрузке системы, вы можете проверить его статус с помощью следующей команды.
Докер состояния $ sudo systemctl
Проверка статуса Docker CE
● docker.service - Движок контейнера приложения Docker загружен: загружен (/lib/systemd/system/docker.service; включено; предустановка поставщика: включено) Активно: активно (работает) с 06.03.2019 08:06:42 UTC; 2мин 18с назад Документы: https://docs.docker.com Основной PID: 5274 (dockerd) Задачи: 8 CGroup: /system.slice/docker.service └─5274 / usr / bin / dockerd -H fd: // --containerd = / run / containerd / containerd.sock 06 марта 08:06:41 tecmint dockerd [5274]: time = "2019-03-06T08: 06: 41.562587408Z" level = warning msg = "Ваш ядро не поддерживает среду выполнения cgroup rt " 06 марта, 08:06:41 tecmint dockerd [5274]: time = "2019-03-06T08: 06: 41.562767803Z" level = warning msg = "Ваше ядро не поддерживает cgroup blkio weight" 06 марта, 08:06:41 tecmint dockerd [5274]: time = "2019-03-06T08: 06: 41.562966844Z" level = warning msg = "Ваше ядро не поддерживает cgroup blkio weight_device" 06 марта, 08:06:41 tecmint dockerd [5274]: time = "2019-03-06T08: 06: 41.565298457Z" level = info msg = "Загрузка контейнеров: начало." 06 марта, 08:06:41 tecmint dockerd [5274]: time = "2019-03-06T08: 06: 41.950942467Z" level = info msg = "Мосту по умолчанию (docker0) назначен IP-адрес 172.17.0.0/16. Опцию демона --bip можно использовать для установки предпочтения. 06 марта, 08:06:42 tecmint dockerd [5274]: time = "2019-03-06T08: 06: 42.036964493Z" level = info msg = "Загрузка контейнеров: завершена." 06 марта, 08:06:42 tecmint dockerd [5274]: time = "2019-03-06T08: 06: 42.156279378Z" level = info msg = "Docker daemon" commit = 774a1f4 graphdriver (s) = overlay2 version = 18.09.3. 06 марта, 08:06:42 tecmint dockerd [5274]: time = "2019-03-06T08: 06: 42.157145045Z" level = info msg = "Демон завершил работу инициализация " 06 марта, 08:06:42 tecmint systemd [1]: запущен механизм контейнера приложений Docker. 06 марта, 08:06:42 tecmint dockerd [5274]: time = "2019-03-06T08: 06: 42.224229999Z" level = info msg = "API прослушивает /var/run/docker.sock"
5. Наконец, убедитесь, что Докер CE установлен правильно, запустив Привет мир
изображение.
$ sudo docker run hello-world.
Проверьте установку Docker CE
Привет из Докера! Это сообщение показывает, что ваша установка работает правильно. Чтобы сгенерировать это сообщение, Docker предпринял следующие шаги: 1. Клиент Docker связался с демоном Docker. 2. Демон Docker вытащил образ "hello-world" из Docker Hub. (amd64) 3. Демон Docker создал новый контейнер из этого образа, который запускает исполняемый файл, который производит вывод, который вы в данный момент читаете. 4. Демон Docker передал этот вывод клиенту Docker, который отправил его на ваш терминал. Чтобы попробовать что-то более амбициозное, вы можете запустить контейнер Ubuntu с помощью: $ docker run -it ubuntu bash Делитесь изображениями, автоматизируйте рабочие процессы и многое другое с бесплатным идентификатором Docker: https://hub.docker.com/ Для получения дополнительных примеров и идей посетите: https://docs.docker.com/get-started/
6. Чтобы получить информацию о Докервыполните следующую команду.
$ sudo информация о докереВерсия ядра: 5.0.0-050000-generic. Операционная система: Ubuntu 18.04.1 LTS. OSType: linux. Архитектура: x86_64. Процессоры: 1. Общий объем памяти: 1,452 ГБ. Имя: tecmint. ID: FWSB: IRIF: DYL7: PRB5: Y66E: 37MY: ISPO: HZVY: 6YJO: 2IYL: TO6Y: GNB7. Корневой каталог Docker: / var / lib / docker. Режим отладки (клиент): false. Режим отладки (сервер): false. Реестр: https://index.docker.io/v1/ Ярлыки: Experimental: false. Небезопасные реестры: 127.0.0.0/8. Live Restore Enabled: false. Лицензия на продукт: Community Engine.
7. Чтобы получить информацию о Докер версии, выполните следующую команду.
$ sudo версия докера Клиент: Версия: 18.09.3 Версия API: 1.39 Версия Go: go1.10.8 Git commit: 774a1f4 Построен: 28 февраля, 06:53:11 2019 OS / Arch: linux / amd64 Экспериментально: false Сервер: Docker Engine - Community Engine: Версия: 18.09.3 Версия API: 1.39 (минимальная версия 1.12) Версия Go: go1.10.8 Git commit: 774a1f4 Построено: Чт, 28 февраля, 05:59:55 2019 OS / Arch: linux / amd64 Экспериментально: ложный.
8. Чтобы получить список всех доступных команд Docker, выполните докер
на вашем терминале.
$ docker Использование: docker [ОПЦИИ] КОМАНДА Самодостаточная среда выполнения для контейнеров Параметры: --config string Расположение файлов конфигурации клиента (по умолчанию "/home/tecmint/.docker") -D, --debug Включить режим отладки -H, --host list Демон (сокеты) для подключения к -l, --log-level string Установить уровень ведения журнала ("debug" | "info" | "warn" | "error" | "fatal ") (по умолчанию" информация ") --tls Использовать TLS; подразумевается --tlsverify --tlscacert строка Доверять сертификатам, подписанным только этим ЦС (по умолчанию "/home/tecmint/.docker/ca.pem") --tlscert string Путь к файлу сертификата TLS (по умолчанию "/home/tecmint/.docker/cert.pem") --tlskey string Путь к ключевому файлу TLS (по умолчанию "/home/tecmint/.docker/key.pem") --tlsverify Используйте TLS и проверьте удаленный -v, --version Распечатать информацию о версии и выйдите из меню Команды управления: Builder Управление конфигурациями сборок Управление конфигурациями Docker в контейнере Управление движком контейнеров Управление образом движка докеров Управление сетью изображений Управление сетью узел Плагин "Управление узлами Swarm" Управление секретными плагинами Служба управления секретами Docker Управление стеком служб Управление роем стеков Docker Управление системой Swarm Управление доверием Docker Управление доверием в Docker объем изображений Управление томами...
9. Чтобы запустить Docker-контейнер, сначала вам нужно скачать образ из Докер Хаб - предоставляет бесплатные изображения из своих репозиториев.
Например, чтобы загрузить образ Docker с именем CentOS 7
введите следующую команду.
$ sudo docker поиск centosНАЗВАНИЕ ОПИСАНИЕ ЗВЕЗДЫ ОФИЦИАЛЬНО АВТОМАТИЧЕСКИ. centos Официальная сборка CentOS. 5227 [OK] ansible / centos7-ansible Ansible на Centos7 120 [OK] jdeathe / centos-ssh CentOS-6 6.10 x86_64 / CentOS-7 7.5.1804 x86… 107 [OK] consol / centos-xfce-vnc Контейнер Centos с сеансом VNC "без головы"… 81 [OK] Image10255 / centos6-lnmp-php56 centos6-lnmp-php56 50 [OK] centos / mysql-57-centos7 MySQL 5.7 Сервер базы данных SQL 47 tutum / centos Простой образ докера CentOS с доступом по SSH 43 gluster / gluster-centos Официальный образ GlusterFS [CentOS-7 + Glust… 40 [OK] openshift / base-centos7 Производный базовый образ Centos7 для Source-To-I… 39 centos / postgresql-96-centos7 PostgreSQL - это расширенный Объектно-реляционная… 37 centos / python-35-centos7 Платформа для сборки и запуска Python 3.5… 33 kinogmt / centos-ssh CentOS с SSH 26 [ОК] openshift / jenkins-2-centos7 Образ Jenkins v2.x на основе Centos7 для использования с… 20 centos / php-56-centos7 Платформа для создания и запуска PHP 5.6 ap… 19 pivotaldata / centos-gpdb-dev Образ CentOS для GPDB разработка. Имена тегов… 10 openshift / wildfly-101-centos7 Образ WildFly v10.1 на основе Centos7 для использования… 6 openshift / jenkins-1-centos7 УСТАРЕЛО: Jenkins v1.x ima на основе Centos7… 4 darksheer / centos База Изображение Centos - Обновляется ежечасно 3 [OK] pivotaldata / centos База centos, немного освеженная с помощью Do… 2 pivotaldata / centos-mingw Использование инструментальной цепочки mingw для кросс-компиляции t… 2 pivotaldata / centos-gcc-toolchain CentOS с набором инструментов, но не аффилированный с… 1 openshift / wildfly-81-centos7 Образ WildFly v8.1 на основе Centos7 для использования с… 1 blacklabelops / centos Базовый образ CentOS! Строится и обновляется ежедневно! 1 [ОК] smartentry / centos centos с умной обработкой 0 [OK] jameseckersall / sonarr-centos Sonarr на CentOS 7 0 [OK]
10. После того, как вы определили, какой образ вы хотите запустить в соответствии с вашими требованиями, загрузите его локально, выполнив следующую команду (в данном случае CentOS изображение загружается и используется).
$ docker pull centos Используется тег по умолчанию: последний. последнее: извлечение из библиотеки / centos. a02a4930cb5d: Получить полный дайджест: sha256: 184e5f35598e333bfa7de10d8fb1cebb5ee4df5bc0f970bf2b1e7c7345136426. Статус: загружено более новое изображение для centos: latest.
11. Чтобы вывести список всех доступных образов Docker на вашем хосте, выполните следующую команду.
$ sudo docker изображения РАЗМЕР ИЗОБРАЖЕНИЯ ИДЕНТИФИКАЦИИ ИЗОБРАЖЕНИЯ ХРАНИЛИЩА. hello-world latest fce289e99eb9 2 месяца назад 1.84kB. centos последнее 1e1148e4cc2c 3 месяца назад 202MB.
12. Если ты не хочешь Докер image больше, и вы можете удалить его с помощью следующей команды.
$ sudo docker rmi centos Без тегов: centos: latest. Без тегов: [электронная почта защищена]: 184e5f35598e333bfa7de10d8fb1cebb5ee4df5bc0f970bf2b1e7c7345136426. Удалено: sha256: 1e1148e4cc2c148c6890a18e3b2d2dde41a6745ceb4e5fe94a923d811bf82ddb. Удалено: sha256: 071d8bd765171080d01682844524be57ac9883e53079b6ac66707e192ea25956.
13. Чтобы создать и запустить контейнер Docker, сначала вам нужно запустить команду в загруженном CentOS
изображение, поэтому базовой командой будет проверка файла версии распространения внутри контейнера с помощью команда кота, как показано.
$ docker запустите centos cat / etc / issue.
14. Чтобы снова запустить контейнеры, сначала вам нужно получить Идентификатор или имя контейнера выполнив следующую команду, которая отобразит список запущенных и остановленных контейнеров:
$ sudo docker ps -l КОНТЕЙНЕР ИДЕНТИФИКАЦИЯ ИЗОБРАЖЕНИЕ КОМАНДА СОЗДАЕТ СТАТУС ИМЕНА ПОРТОВ. 0ddfa81c5779 centos "cat / etc / issue" Около минуты назад Завершился (0) Около минуты назад elastic_shirley
15. Однажды Идентификатор или имя контейнера был получен, вы можете запустить контейнер, используя следующую команду:
$ sudo docker start 0ddfa81c5779 ИЛИ. $ sudo docker start elastic_shirley
Здесь строка 0ddfa81c5779
представляет идентификатор контейнера и elastic_shirley
представляет имя контейнера.
16. Чтобы остановить запущенный контейнер, выполните докер стоп
команду, указав Идентификатор или имя контейнера.
$ sudo docker stop 0ddfa81c5779 ИЛИ. $ sudo docker stop elastic_shirley
17. Более лучший способ, чтобы вам не нужно было запоминать идентификатор контейнера, - это определить уникальное имя для каждого контейнера, который вы создаете, используя --название
вариант, как показано.
$ docker run --name myname centos cat / etc / issue.
18. Чтобы подключить и запустить команды Linux в контейнере, выполните следующую команду.
$ docker run -it centos bash [[электронная почта защищена] /] # uname -a. Linux 6213ec547863 5.0.0-050000-generic # 201903032031 SMP Пн, 4 марта, 01:33:18 UTC 2019 x86_64 x86_64 x86_64 GNU / Linux. [[электронная почта защищена] /] # cat / etc / redhat-release CentOS Linux, выпуск 7.6.1810 (Core)
19. Чтобы выйти и вернуться к хосту из запущенного сеанса контейнера, вы должны ввести выход
как показано.
$ exit.
Это все, что касается основных манипуляций с контейнером. Если у вас есть какие-либо вопросы или комментарии по поводу этой статьи, используйте форму обратной связи ниже, чтобы связаться с нами.