Установка docker в debian 9: Установка и использование Docker в Debian 9

Содержание

Установка и использование Docker в Debian 9

Предыдущая версия данного обучающего руководства была написана finid.

Введение

Docker — это приложение, упрощающее процесс управления процессами приложения в контейнерах. Контейнеры позволяют запускать приложения в процессах с изолированными ресурсами. Они похожи на виртуальные машины, но более портативные, более эффективно расходуют ресурсы и в большей степени зависят от операционной системы хоста.

Подробное описание различных компонентов контейнера Docker см. в статье Экосистема Docker: знакомство с базовыми компонентами.

Это руководство поможет установить и использовать Docker Community Edition (CE) в Debian 9. Вы самостоятельно установите Docker, поработаете с контейнерами и изображениями, а также подготовите образ репозитория Docker.

Предварительные требования

Для выполнения этого руководства вам потребуется следующее:

Шаг 1 — Установка Docker

Пакет установки Docker, доступный в официальном репозитории Debian, может представлять собой не самую последнюю версию. Чтобы точно использовать самую актуальную версию, мы будем устанавливать Docker из официального репозитория Docker. Для этого мы добавим новый источник пакета, ключ GPG от Docker, чтобы гарантировать загрузку рабочих файлов, а затем установим пакет.

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

Затем установите несколько необходимых пакетов, которые позволяют apt использовать пакеты через HTTPS:

  • sudo apt install apt-transport-https ca-certificates curl gnupg2 software-properties-common

Добавьте ключ GPG для официального репозитория Docker в вашу систему:

  • curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -

Добавьте репозиторий Docker в источники APT:

  • sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable"

Потом обновите базу данных пакетов и добавьте в нее пакеты Docker из недавно добавленного репозитория:

Убедитесь, что установка будет выполняться из репозитория Docker, а не из репозитория Debian по умолчанию:

  • apt-cache policy docker-ce

Вы должны получить следующий вывод, хотя номер версии Docker может отличаться:

Output of apt-cache policy docker-ce

docker-ce:
  Installed: (none)
  Candidate: 18.06.1~ce~3-0~debian
  Version table:
     18.06.1~ce~3-0~debian 500
        500 https://download.docker.com/linux/debian stretch/stable amd64 Packages

Обратите внимание, что docker-ce не установлен, но является кандидатом на установку из репозитория Docker для Debian 9 (версия Stretch).

Установите Docker:

  • sudo apt install docker-ce

Docker должен быть установлен, демон-процесс запущен, а для процесса активирован запуск при загрузке. Проверьте, что он запущен:

  • sudo systemctl status docker

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

Output

● docker.service - Docker Application Container Engine Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled) Active: active (running) since Thu 2018-07-05 15:08:39 UTC; 2min 55s ago Docs: https://docs.docker.com Main PID: 21319 (dockerd) CGroup: /system.slice/docker.service ├─21319 /usr/bin/dockerd -H fd:// └─21326 docker-containerd --config /var/run/docker/containerd/containerd.toml

После установки Docker у вас будет доступ не только к службе Docker (демон-процесс), но и к утилите командной строки docker или клиенту Docker. Мы узнаем, как использовать команду docker позже в этом обучающем руководстве.

Шаг 2 — Настройка команды Docker без sudo (необязательно)

По умолчанию команда docker может быть запущена только пользователем root или пользователем из группы docker, которая автоматически создается при установке Docker. Если вы попытаетесь запустить команду docker без префикса sudo или с помощью пользователя, который не находится в группе docker, то получите следующий вывод:

Output

docker: Cannot connect to the Docker daemon. Is the docker daemon running on this host?. See 'docker run --help'.

Если вы не хотите каждый раз вводить sudo при запуске команды docker, добавьте свое имя пользователя в группу docker:

  • sudo usermod -aG docker ${USER}

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

Вы должны будете ввести пароль вашего пользователя, чтобы продолжить.

Проверьте, что ваш пользователь добавлен в группу docker, введя следующее:

Output

sammy sudo docker

Если вам нужно добавить пользователя в группу docker, для которой вы не выполнили вход, объявите имя пользователя явно, используя следующую команду:

  • sudo usermod -aG docker username

В дальнейшем в статье подразумевается, что вы запускаете команду docker от имени пользователя в группе docker. В обратном случае вам необходимо добавлять к командам префикс sudo.

Давайте перейдем к знакомству с командой docker.

Шаг 3 — Использование команды Docker

Использование docker подразумевает передачу ему цепочки опций и команд, за которыми следуют аргументы. Синтаксис имеет следующую форму:

  • docker [option] [command] [arguments]

Чтобы просмотреть все доступные субкоманды, введите:

Для 18-й версии Docker полный список субкоманд выглядит следующим образом:

Output

attach Attach local standard input, output, and error streams to a running container build Build an image from a Dockerfile commit Create a new image from a container's changes cp Copy files/folders between a container and the local filesystem create Create a new container diff Inspect changes to files or directories on a container's filesystem events Get real time events from the server exec Run a command in a running container export Export a container's filesystem as a tar archive history Show the history of an image images List images import Import the contents from a tarball to create a filesystem image info Display system-wide information inspect Return low-level information on Docker objects kill Kill one or more running containers load Load an image from a tar archive or STDIN login Log in to a Docker registry logout Log out from a Docker registry logs Fetch the logs of a container pause Pause all processes within one or more containers port List port mappings or a specific mapping for the container ps List containers pull Pull an image or a repository from a registry push Push an image or a repository to a registry rename Rename a container restart Restart one or more containers rm Remove one or more containers rmi Remove one or more images run Run a command in a new container save Save one or more images to a tar archive (streamed to STDOUT by default) search Search the Docker Hub for images start Start one or more stopped containers stats Display a live stream of container(s) resource usage statistics stop Stop one or more running containers tag Create a tag TARGET_IMAGE that refers to SOURCE_IMAGE top Display the running processes of a container unpause Unpause all processes within one or more containers update Update configuration of one or more containers version Show the Docker version information wait Block until one or more containers stop, then print their exit codes

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

  • docker docker-subcommand --help

Чтобы просмотреть общесистемную информацию о Docker, введите следующее:

Давайте изучим некоторые из этих команд. Сейчас мы начнем работать с образами.

Шаг 4 — Работа с образами Docker

Контейнеры Docker получают из образов Docker. По умолчанию Docker загружает эти образы из Docker Hub, реестр Docker, контролируемые Docker, т.е. компанией, реализующей проект Docker. Любой может размещать свои образы Docker на Docker Hun, поэтому большинство приложений и дистрибутивов Linux, которые вам потребуется, хранят там свои образы.

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

Данный вывод говорит о том, что Docker работает корректно:

Output

Unable to find image 'hello-world:latest' locally latest: Pulling from library/hello-world 9db2ca6ccae0: Pull complete Digest: sha256:4b8ff392a12ed9ea17784bd3c9a8b1fa3299cac44aca35a85c90c5e3c7afacdc Status: Downloaded newer image for hello-world:latest Hello from Docker! This message shows that your installation appears to be working correctly. ...

Docker первоначально не смог найти локальный образ hello-world, поэтому он загрузил образ из Docker Hub, который является репозиторием по умолчанию. После того как образ был загружен, Docker создал контейнер из образа, а приложение внутри контейнера было исполнено, отобразив сообщение.

Вы можете выполнять поиск доступных на Docker Hub с помощью команды docker с субкомандой search. Например, чтобы найти образ Ubuntu, введите:

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

Output

NAME DESCRIPTION STARS OFFICIAL AUTOMATED ubuntu Ubuntu is a Debian-based Linux operating sys… 8320 [OK] dorowu/ubuntu-desktop-lxde-vnc Ubuntu with openssh-server and NoVNC 214 [OK] rastasheep/ubuntu-sshd Dockerized SSH service, built on top of offi… 170 [OK] consol/ubuntu-xfce-vnc Ubuntu container with "headless" VNC session… 128 [OK] ansible/ubuntu14.04-ansible Ubuntu 14.04 LTS with ansible 95 [OK] ubuntu-upstart Upstart is an event-based replacement for th… 88 [OK] neurodebian NeuroDebian provides neuroscience research s… 53 [OK] 1and1internet/ubuntu-16-nginx-php-phpmyadmin-mysql-5 ubuntu-16-nginx-php-phpmyadmin-mysql-5 43 [OK] ubuntu-debootstrap debootstrap --variant=minbase --components=m… 39 [OK] nuagebec/ubuntu Simple always updated Ubuntu docker images w… 23 [OK] tutum/ubuntu Simple Ubuntu docker images with SSH access 18 i386/ubuntu Ubuntu is a Debian-based Linux operating sys… 13 1and1internet/ubuntu-16-apache-php-7.0 ubuntu-16-apache-php-7.0 12 [OK] ppc64le/ubuntu Ubuntu is a Debian-based Linux operating sys… 12 eclipse/ubuntu_jdk8 Ubuntu, JDK8, Maven 3, git, curl, nmap, mc, … 6 [OK] darksheer/ubuntu Base Ubuntu Image -- Updated hourly 4 [OK] codenvy/ubuntu_jdk8 Ubuntu, JDK8, Maven 3, git, curl, nmap, mc, … 4 [OK] 1and1internet/ubuntu-16-nginx-php-5.6-wordpress-4 ubuntu-16-nginx-php-5.6-wordpress-4 3 [OK] pivotaldata/ubuntu A quick freshening-up of the base Ubuntu doc… 2 1and1internet/ubuntu-16-sshd ubuntu-16-sshd 1 [OK] ossobv/ubuntu Custom ubuntu image from scratch (based on o… 0 smartentry/ubuntu ubuntu with smartentry 0 [OK] 1and1internet/ubuntu-16-healthcheck ubuntu-16-healthcheck 0 [OK] pivotaldata/ubuntu-gpdb-dev Ubuntu images for GPDB development 0 paasmule/bosh-tools-ubuntu Ubuntu based bosh-cli 0 [OK] ...

В столбце OFFICIAL OK указывает на образ, созданный и поддерживаемый компанией, реализующей проект. После того как вы определили образ, который хотели бы использовать, вы можете загрузить его на свой компьютер с помощью субкоманды pull.

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

Вывод должен выглядеть следующим образом:

Output

Using default tag: latest latest: Pulling from library/ubuntu 6b98dfc16071: Pull complete 4001a1209541: Pull complete 6319fc68c576: Pull complete b24603670dc3: Pull complete 97f170c87c6f: Pull complete Digest: sha256:5f4bdc3467537cbbe563e80db2c3ec95d548a9145d64453b06939c4592d67b6d Status: Downloaded newer image for ubuntu:latest

После того как образ будет загружен, вы сможете запустить контейнер с помощью загруженного образа с помощью субкоманды run. Как вы уже видели на примере hello-world, если образ не был загружен, когда docker выполняется с субкомандой run, клиент Docker сначала загружает образ, а затем запускает контейнер с этим образом.

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

Вывод должен выглядеть примерно следующим образом:

Output

REPOSITORY TAG IMAGE ID CREATED SIZE ubuntu latest 16508e5c265d 13 days ago 84.1MB hello-world latest 2cb0d9787c4d 7 weeks ago 1.85kB

Как вы увидите далее в этом обучающем руководстве, образы, которые вы используете для запуска контейнеров, можно изменить и использовать для создания новых образов, которые затем могут быть загружены (помещены) на Docker Hub или другие реестры Docker.

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

Шаг 5 — Запуск контейнеров Docker

Контейнер hello-world, который вы запустили на предыдущем шаге, служит примером контейнера, который запускается и завершает работу после отправки тестового сообщения. Контейнеры могут быть гораздо более полезными, чем в примере выше, а также могут быть интерактивными. В конечном счете, они очень похожи на виртуальные машины, но более бережно расходуют ресурсы.

В качестве примера мы запустим контейнер с самым последним образом образ Ubuntu. Сочетание переключателей -i и -t предоставляет вам доступ к интерактивной командной оболочке внутри контейнера:

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

Output

root@d9b100f2f636:/#

Обратите внимание на идентификатор контейнер в запросе команды. В данном примере это d9b100f2f636. Вам потребуется этот идентификатор для определения контейнера, когда вы захотите его удалить.

Теперь вы можете запустить любую команду внутри контейнера. Например, сейчас мы обновим базу данных пакетов внутри контейнера. Вам не потребуется начинать любую команду с sudo, потому что вы работаете внутри контейнера как root-пользователь:

После этого вы можете установите любое приложение внутри контейнера. Давайте установим Node.js:

Эта команда устанавливает Node.js внутри контейнера из официального репозитория Ubuntu. После завершения установки проверьте, что Node.js был установлен успешно:

Вы увидите номер версии, отображаемый в терминале:

Output

v8.10.0

Любые изменения, которые вы вносите внутри контейнера, применяются только к контейнеру.

Чтобы выйти из контейнера, введите exit.

Далее мы рассмотрим управление контейнерами в нашей системе.

Шаг 6 — Управление контейнерами Docker

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

Вывод будет выглядеть примерно следующим образом:

Output

CONTAINER ID IMAGE COMMAND CREATED

В этом обучающем руководстве вы запустили два контейнера: один из образа hello-world и другой из образа ubuntu. Оба контейнера больше не запущены, но все еще существует в вашей системе.

Чтобы просмотреть все контейнеры — активные и неактивные, воспользуйтесь командой docker ps с переключателем -a:

Вывод будет выглядеть следующим образом:

d9b100f2f636        ubuntu              "/bin/bash"         About an hour ago   Exited (0) 8 minutes ago                           sharp_volhard
01c950718166        hello-world         "/hello"            About an hour ago   Exited (0) About an hour ago                       festive_williams

Чтобы просмотреть последний созданный вами контейнер, передайте переключатель -l:

  • CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
  • d9b100f2f636 ubuntu "/bin/bash" About an hour ago Exited (0) 10 minutes ago sharp_volhard

Чтобы запустить остановленный контейнер, воспользуйтесь docker start с идентификатором контейнера или именем контейнера. Давайте запустим контейнер на базе Ubuntu с идентификатором d9b100f2f636:

  • docker start d9b100f2f636

Контейнер будет запущен, а вы сможете использовать docker ps, чтобы просматривать его статус:

CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
d9b100f2f636        ubuntu              "/bin/bash"         About an hour ago   Up 8 seconds                            sharp_volhard

Чтобы остановить запущенный контейнер, используйте docker stop с идентификатором или именем контейнера. На этот раз мы будем использовать имя, которое Docker привязал к контейнеру, т.е. sharp_volhard:

  • docker stop sharp_volhard

После того как вы решили, что вам больше не потребуется контейнер, удалите его с помощью команды docker rm, снова добавив идентификатор контейнера или его имя. Используйте команду docker ps -a, чтобы найти идентификатор или имя контейнера, связанного с образом hello-world, и удалить его.

  • docker rm festive_williams

Вы можете запустить новый контейнер и присвоить ему имя с помощью переключателя --name. Вы также можете использовать переключатель ​--rm, чтобы создать контейнер, который удаляется после остановки. Изучите команду docker run help, чтобы получить больше информации об этих и прочих опциях.

Контейнеры можно превратить в образы, которые вы можете использовать для создания новых контейнеров. Давайте посмотрим, как это работает.

Шаг 7 — Внесение изменений в контейнер для образа Docker

После запуска образа Docker вы можете создавать, изменять и удалять файлы так же, как и с помощью виртуальной машины. Эти изменения будут применяться только к данному контейнеру. Вы можете запускать и останавливать его, но после того как вы уничтожите его с помощью команды docker rm, изменения будут утрачены навсегда.

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

После установки Node.js внутри контейнера Ubuntu у вас появился контейнер, запускающий образ, но этот контейнер отличается от образа, который вы использовали для его создания. Но позже вам может снова потребоваться этот контейнер Node.js в качестве основы для новых образов.

Затем внесите изменения в новый экземпляр образа Docker с помощью следующей команды.

  • docker commit -m "What you did to the image" -a "Author Name" container_id repository/new_image_name

Переключатель -m используется в качестве сообщения о внесении изменений, которое помогает вам и остальным узнать, какие изменения вы внесли, в то время как -a используется для указания автора. container_id — это тот самый идентификатор, который вы отмечали ранее в этом руководстве, когда запускали интерактивную сессию Docker. Если вы не создавали дополнительные репозитории на Docker Hub, repository, как правило, является вашим именем пользователя на Docker Hub.

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

  • docker commit -m "added Node.js" -a "sammy" d9b100f2f636 sammy/ubuntu-nodejs

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

Список образов Docker теперь будет содержать новый образ, а также старый образ, из которого он будет получен:

Вывод будет выглядеть следующим образом:

Output

REPOSITORY TAG IMAGE ID CREATED SIZE sammy/ubuntu-nodejs latest 7c1f35226ca6 7 seconds ago 179MB ubuntu latest 113a43faa138 4 weeks ago 81.2MB hello-world latest e38bc07ac18e 2 months ago 1.85kB

В данном примере ubuntu-nodejs является новым образом, который был получен из образа ubuntu на Docker Hub. Разница в размере отражает внесенные изменения. В данном примере изменение состояло в том, что NodeJS был установлен. В следующий раз, когда вам потребуется запустить контейнер, использующий Ubuntu с предустановленным NodeJS, вы сможете использовать новый образ.

Вы также можете создавать образы из Dockerfile, что позволяет автоматизировать установку программного обеспечения в новом образе. Однако это не относится к предмету данного обучающего руководства.

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

Шаг 8 — Загрузка образов Docker в репозиторий Docker

Следующим логическим шагом после создания нового образа из существующего является предоставление доступа к этому образу нескольким вашим друзьям или всему миру на Docker Hub или в другом реестре Docker, к которому вы имели доступ. Чтобы добавить образ на Docker Hub или любой другой реестр Docker, у вас должна быть там учетная запись.

Данный раздел посвящен добавлению образа Docker на Docker Hub. Чтобы узнать, как создать свой собственный частный реестр Docker, ознакомьтесь со статьей Настройка частного реестра Docker на Ubuntu 14.04.

Чтобы загрузить свой образ, выполните вход в Docker Hub.

  • docker login -u docker-registry-username

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

Примечание. Если ваше имя пользователя в реестре Docker отличается от локального имени пользователя, которое вы использовали при создании образа, вам потребуется пометить ваш образ именем пользователя в реестре. Для примера, приведенного на последнем шаге, вам необходимо ввести следующую команду:

  • docker tag sammy/ubuntu-nodejs docker-registry-username/ubuntu-nodejs

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

  • docker push docker-registry-username/docker-image-name

Чтобы загрузить образ ubuntu-nodejs в репозиторий sammy, необходимо использовать следующую команду:

  • docker push sammy/ubuntu-nodejs

Данный процесс может занять некоторое время, необходимое на загрузку образов, но после завершения вывод будет выглядеть следующим образом:

Output

The push refers to a repository [docker.io/sammy/ubuntu-nodejs] e3fbbfb44187: Pushed 5f70bf18a086: Pushed a3b5c80a4eba: Pushed 7f18b442972b: Pushed 3ce512daaf78: Pushed 7aae4540b42d: Pushed ...

После добавления образа в реестр он должен отображаться в панели вашей учетной записи, как на изображении ниже.

Если при попытке добавления возникает подобная ошибка, вы, скорее всего, не выполнили вход:

Output

The push refers to a repository [docker.io/sammy/ubuntu-nodejs] e3fbbfb44187: Preparing 5f70bf18a086: Preparing a3b5c80a4eba: Preparing 7f18b442972b: Preparing 3ce512daaf78: Preparing 7aae4540b42d: Waiting unauthorized: authentication required

Выполните вход с помощью команды docker login и повторите попытку загрузки. Проверьте, появился ли образ на вашей странице репозитория Docker Hub.

Теперь вы можете использовать docker pull sammy/ubuntu-nodejs, чтобы загрузить образ на новый компьютер и использовать его для запуска нового контейнера.

Заключение

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

Установка Docker на Debian

Убедитесь в наличии
необходимых компонентов, после чего можно приступать к
установке Docker.

Необходимые компоненты

Требования к OS

Для установки Docker вам нужна 64 битная версия Debian или Raspbian:

  • Buster 10
  • Stretch 9 (stable) / Raspbian Stretch

Docker поддерживается на x86_64 (или amd64), armhf и arm64 архитектурах.

Удаление старых версий

Старые версии Docker могут называться docker, docker.io или docker-engine.
Если они у вас есть, удалите их:

bash
$ sudo apt-get remove docker docker-engine docker.io containerd runc

Все в порядке если apt-get сообщит что ни один из этих пакетов не установлен.

Содержимое папки /var/lib/docker/, включая образы, контейнеры, тома и
сети сохраняется. Docker Engine — Community теперь называется docker-ce.

Установка Docker

Вы можете установить Docker разными способами, в зависимости от ваши потребностей:

  • Большинство пользователей предпочитает производить установку из репозитория Docker.
    Этот метот рекомендуется для всех случаев исключая использование Rspbian.

  • Некоторые пользователи предпочитают скачать DEB пакет и
    установить его вручную. Это бывает полезно при использовании Docker в изолированных системах без доступа в интернет.

  • При тестировании и в среде разработки, некоторые пользователи предпочитают
    автоматизированные сценарии для установки Docker.
    В настоящий момент это единственное решение для использования на Raspbian.

Установка из репозитория

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

Пользователи Raspbian не могут использовать этот метод!

Установка из репозитория на Raspbian пока не поддерживается.
Вам следует использовать вспомогательные сценарии.

Подключение репозитория
  1. Обновите индекс пакетов в apt:

    bash
    $ sudo apt-get update

  2. Установите пакеты apt позволяющие использовать репозиторий через HTTPS:

    bash
    $ sudo apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg2 \
    software-properties-common

  3. Добавьте официальный GPG ключ для Docker:

    bash
    $ curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -

    Проверяем что теперь в системе есть ключ с цифровым отпечатком
    9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88, его можно найти по последним 8 символам отпечатка.

    bash
    $ sudo apt-key fingerprint 0EBFCD88
    pub 4096R/0EBFCD88 2017-02-22
    Key fingerprint = 9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88
    uid Docker Release (CE deb) <[email protected]>
    sub 4096R/F273FCD8 2017-02-22

  4. Используйте следующую команду для установки из табильной версии репозитория. Для добавления
    nightly или test веток репозитория добавьте слова nightly или test (или оба)
    после слова stable в следующую команду. Узать о nightly и test ветках.

    Примечание: подкоманда lsb_release -cs возвращает имя дистрибутива
    Debian, например helium. Иногда, в таких дистрибутивах
    как BunsenLabs Linux, вам может понадобиться сменить $(lsb_release -cs)
    на ваш родительский дистрибутив Debian. Например, если вы используете
    BunsenLabs Linux Helium, вы можете указать stretch. Docker не гарантирует работу
    непроверенных и неподдерживаемых дистрибутивов Debian.

    bash
    $ sudo add-apt-repository \
    "deb [arch=amd64] https://download.docker.com/linux/debian \
    $(lsb_release -cs) \
    stable"

    bash
    $ sudo add-apt-repository \
    "deb [arch=armhf] https://download.docker.com/linux/debian \
    $(lsb_release -cs) \
    stable"

    bash
    $ sudo add-apt-repository \
    "deb [arch=arm64] https://download.docker.com/linux/debian \
    $(lsb_release -cs) \
    stable"

Установка пакета Docker Engine — Community

Примечание: Данная операция пожжерживается на Debian x86_64 / amd64, Debian ARM,
или Raspbian.

  1. Обновляем идекс пакетов в apt.

    bash
    $ sudo apt-get update

  2. Устанавлиеваем последнюю версию Docker Engine — Community and containerd,
    или переходим на следующий шаг с установкой вручную выбираемой версии:

    bash
    $ sudo apt-get install docker-ce docker-ce-cli containerd.io

    У вас несколько репозиториев Docker?

    Если у вас активно несколько репозиториев Docker, производя установку
    или обновление без указания версии в командах apt-get install или
    apt-get update всегда устанавливается новейшая версия из возможных,
    что может не соответствовать вашим требованиям стабильности.

  3. Для установки определенной версии of Docker Engine — Community, выберите доступную версию в репозитории,
    а затем произведите установку:

    a. Отображение списка версий доступных в репозитории:

    bash
    $ apt-cache madison docker-ce
    docker-ce | 5:18.09.1~3-0~debian-stretch | https://download.docker.com/linux/debian stretch/stable amd64 Packages
    docker-ce | 5:18.09.0~3-0~debian-stretch | https://download.docker.com/linux/debian stretch/stable amd64 Packages
    docker-ce | 18.06.1~ce~3-0~debian | https://download.docker.com/linux/debian stretch/stable amd64 Packages
    docker-ce | 18.06.0~ce~3-0~debian | https://download.docker.com/linux/debian stretch/stable amd64 Packages
    ...

    b. Установка выбраной версии, например: 5:18.09.1~3-0~debian-stretch.

    bash
    $ sudo apt-get install docker-ce=<VERSION_STRING> docker-ce-cli=<VERSION_STRING> containerd.io

  4. Проверка успешной установки Docker Engine — Community с помощью запуска образа hello-world.

    bash
    $ sudo docker run hello-world

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

Docker установлен и запущен. Так же будет создана группа docker без добавления пользователей.
Вам нужно использовать sudo для выполнения команд Docker.
Continue to Linux postinstall to allow
non-privileged users to run Docker commands and for other optional configuration
steps.

Обновление Docker

Для обновления Docker, сперва вам необходимо выполнить команду sudo apt-get update, а затем следовать
инструкциям по установке, выбрав необходимую вам версию.

Установка из пакета

Если вы не можете использовать репозиторий для установки Docker, вы можете скачать
.deb файл вашего релиза и установить его вручную. Вам придется скачивать новый файл каждый раз когда вы захотите
обновить Docker.

  1. Откройте ссылку https://download.docker.com/linux/debian/dists/,
    выберети вашу версию Debian, откройте pool/stable/, выберите amd64,
    armhf или arm64 и скачайте .deb файл нужной вам версии Docker Engine.

    Примечание: Для установки пакета nightly, измените слово
    stable в url на nightly.
    Узнать больше о ветках nightly и test.

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

    bash
    $ sudo dpkg -i package.deb

    Демон Docker будет запущен автоматически.

  3. Убедимся что установка Docker прошла успешно, для этого запустим образ hello-world.

    bash
    $ sudo docker run hello-world

    This command downloads a test image and runs it in a container. When the
    container runs, it prints an informational message and exits.

Docker установлен и запущен. Группа docker была создана без добавления в нее пользователей.
Для выполнения команд Docker вам следует использовать sudo.
Ознакомтесь с шагами после установки на Linux
что бы разрешить не привелигированый доступ к командам Docker или что бы узнать о других настройках.

Обновление Docker

Для обновления Docker, скачайте пакет с новой версией и следуйте
процедуре установки.

Удаление Docker

  1. Для удаления Docker выполните следующую команду:

    bash
    $ sudo apt-get purge docker-ce

  2. Образы, контейнеры и тома или конфигурационные файлы на вашем хосте не удаляются автоматически.
    Для того что бы удалить их выполните команду:

    bash
    $ sudo rm -rf /var/lib/docker

Конфигурационные файлы удаляются вручную.


Комментарии:

Комментариев нет, желаете стать первым?

Как установить Docker на Debian 9 Stretch

В этой статье мы покажем вам, как установить Docker на сервере Debian 9 Stretch. Для тех из вас, кто не знает, Docker является проектом с открытым исходным кодом, который автоматизирует развертывание приложения внутри контейнера программного обеспечения. Контейнер позволяет разработчику упаковать все ресурсы проекта, такие как библиотеки, зависимости, активы и т.д. Docker написана на языке программирования Go и разработанная Dotcloud. Это в основном двигатель контейнера, который использует возможности ядра Linux как пространства имен и контрольных групп для создания контейнеров в операционной системе и позволяет автоматизировать развертывание приложений на контейнере.

В данной статье предполагается, что вы по крайней мере, имеете базовые знания Linux, знаете, как использовать оболочку, и, самое главное, вы размещаете свой сайт на своем собственном VPS. Установка очень проста и предполагает, что вы работаете в корневой учетной записи, если вы не можете добавить «Sudo» к командам, чтобы получить привилегии суперпользователя. Мы покажем вам шаг за шагом установку последней версии Docker на сервере Debian 9 (Stretch).

Установка Docker на Debian 9 Stretch

Шаг 1. Обновление системы.

Перед тем, как установить любое программное обеспечение, важно, убедиться, что система находится в актуальном состоянии, выполнив эти следующие команды в терминале:

apt-get update
apt-get upgrade

 

Шаг 2. Установка Docker на сервер Debian 9.

Во-первых, установите некоторые дополнительные пакеты перед установкой Docker:

apt-get install apt-transport-https ca-certificates curl software-properties-common

 

Добавьте ключ GPG для хранилища Docker на вашей системе:

wget https://download.docker.com/linux/debian/gpg 
sudo apt-key add gpg

 

Затем добавьте репозиторий Docker к вашей машине Debian Stretch с помощью следующей команды:

echo "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable" | sudo tee -a /etc/apt/sources.list.d/docker.list

 

Обновите базу данных и установите Docker:

apt-get install docker-ce

 

Как только это будет сделано, запустите и включите Docker для запуска при загрузке:

systemctl start docker
systemctl enable docker

 

Проверьте правильности установки Docker:

### docker --version
Docker version 1.11.0, build 4dc599

 

Шаг 3. Развертывание первого изображения Docker, «Hello World!».

Для того, чтобы быть уверенными, что мы успешно установили Docker, мы можем запустить классическое изображение “hello-world”:

docker run hello-world

 

Если вы видите это сообщение, то он работает правильно:

Hello from Docker.
This message shows that your installation appears to be working correctly.

 

Поздравления! Вы успешно установили Docker. Спасибо за использование этой статьи для установки Docker на сервер Debian 9 Stretch. Для получения дополнительной помощи или полезной информации, мы рекомендуем вам зайти на официальный веб-сайт Docker.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Ubuntu, Centos 7 и Debian 9 🐟

Содержание:

Основные понятия

  • Docker — приложение для виртуальной контейнеризации.
  • Контейнер — виртуальная среда, где разворачивается и запускается сохраненный заранее образ с отдельным ПО.
  • Образ (шаблон) — полностью работоспособный исполняемый пакет определенного ПО для запуска в контейнере Docker.
  • Dockerfile — файл инструкций для демона (сервера) Docker под соответствующий образ. Для нового образа, сначала готовится dockerfile после чего сам пакет образа.
  • Docker-ce — бесплатная ce-версия (ce — community edition) платформы. По умолчанию распространяется платная ee-версия (ee — enterprise edition) с пробным периодом.

Подробнее с экосистемой Docker можно ознакомиться в отдельной статье нашего блога.

Условия для запуска Docker на VPS-сервере с Linux

  1. Подготовленный сервер Linux с операционной системой Centos 7, Debian 9 или Ubuntu 19 и первоначальной настройкой. Также необходим установленный файервол и под управлением sudo-администратора (не root).
  2. Профиль в официальном репозитории Docker HUB.

Подробнее о том, как работать с контейнером Docker можно прочитать в этой статье.

Процессы установки и работы с докер-системой в Debian и Ubuntu фактически одинаковы — меняются только наименования версий ОС. Поэтому, сначала будет рассмотрена общая установка для этих версий, а потом — отдельная инструкция по Centos.

Установка Docker на Ubuntu и Debian

Развернуть окружение Docker на виртуальном сервере с Debian или Ubuntu можно из официального репозитория. Для этого необходимо произвести приведенную ниже последовательность действий.

  1. Провести пакетное обновление сервера:
$ sudo apt update
  1. Установить зависимости в Debian/Ubuntu:
$ sudo apt install apt-transport-https ca-certificates curl gnupg2 software-properties-common
  1. Добавить ключ GPG от официального репозитория в систему управления пакетами APT (Advanced Packaging Tool):
$ curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
$ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable"

$ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
  1. Обновить базы данных индекс-пакетов APT системы и переключиться в репозиторий Docker:
$ sudo apt update

$ apt-cache policy docker-ce

В результате должен получиться вывод:

docker-ce:

Installed: (none)

Candidate: 18.06.1~ce~3-0~debian

Version table:

18.06.1~ce~3-0~debian 500

500 https://download.docker.com/linux/debian stretch/stable amd64 Packages

Примечание! При настройке под Ubuntu возврат будет с наименованиями, соответствующим текущей версии.

Теперь можно осуществить развертывание Docker на сервере.

  1. Установить Docker можно командой:
$ sudo apt install docker-ce

Docker под Ubuntu или Debian будет установлен автоматически.

  1. Проверить функциональность Docker:
$ sudo systemctl status docker

Команда должна вернуть следующее:

docker.service - Docker Application Container Engine

Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)

Active: active (running) since Thu 2018-07-05 15:08:39 UTC; 2min 55s ago

Docs: https://docs.docker.com

Main PID: 21319 (dockerd)

CGroup: /system.slice/docker.service

├─21319 /usr/bin/dockerd -H fd://

└─21326 docker-containerd --config /var/run/docker/containerd/containerd.toml

Работа с образами в Debian/Ubuntu

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

Далее будет разобран алгоритм действий для работы с образами в установленном Docker.

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

$ docker run hello-world

Возврат должен быть соответствующего содержания:

Output

Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
9bb5a5d4561a: Pull complete
Digest: sha256:3e1764d0f546ceac4565547df2ac4907fe46f007ea229fd7ef2718514bcec35d
Status: Downloaded newer image for hello-world:latest

Hello from Docker!
This message shows that your installation appears to be working correctly.

2. Для поиска готовых образов на DockerHub следует ввести команду Docker с подкомандой «search»:

$ docker search ubuntu

Возврат выдаст реестр всех доступных образов Ubuntu в виде довольно обширного списка.

3. Команда «Pull» поможет загрузить нужный образ:

$ docker pull ubuntu

Как установить Docker на Centos

Процесс развертки Docker на сервере под Centos намного проще, чем два рассмотренных выше случая.

1. Произвести пакетное обновление сервера:

sudo yum check-update

2. Ввести команду для установки платформы Docker:

curl -fsSL https://get.docker.com/ | sh

3. Если требуется запустить docker от root, необходимо ввести следующую команду:

sudo usermod -aG docker <имя пользователя>

4. Ввести команду запуска Docker под Centos:

sudo systemctl start docker

sudo systemctl enable docker

Работа с образами в Centos

Для работы с образами Docker на VPS под Centos необходимо вводить те же команды, что и в Debian/Ubuntu:

  • docker run hello-world — проверочная команда возможности загружать образы из DockerHub.
  • docker search [NAME] — команда для поиска нужного образа, в конце команды добавляем название искомого образа.
  • docker pull [NAME] — команда для загрузки найденного образа, в конце команды добавляем название соответствующего образа.
  • docker run [NAME] — запуск контейнера.
  • docker image — просмотр всех загруженных образов.
  • docker container start [NAME/id] — запуск контейнера в фоновом режиме

Установка Docker в Debian 9

Docker — программное обеспечение для автоматизации развёртывания и управления приложениями в среде виртуализации на уровне операционной системы. Позволяет «упаковать» приложение со всем его окружением и зависимостями в контейнер, который может быть перенесён на любую Linux-систему с поддержкой cgroups в ядре, а также предоставляет среду по управлению контейнерами.

Перед установкой Docker, обновим существующий список пакетов Debian:

sudo apt update  

Далее установим необходимые пакеты, которые позволяют apt использовать пакеты по HTTPS:

sudo apt install apt-transport-https ca-certificates curl gnupg2 software-properties-common  

Добавим в свою систему ключ GPG официального репозитория Docker:

curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -  

Добавим репозиторий Docker в список источников пакетов APT:

sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable"  

Затем обновим базу данных пакетов информацией о пакетах Docker из вновь добавленного репозитория:

sudo apt update  

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

apt-cache policy docker-ce  
root@kvmde67-19464:~# apt-cache policy docker-ce  
docker-ce:  
  Installed: (none)
  Candidate: 5:19.03.8~3-0~debian-stretch
  Version table:
     5:19.03.8~3-0~debian-stretch 500
        500 https://download.docker.com/linux/debian stretch/stable amd64 Packages
     5:19.03.7~3-0~debian-stretch 500
        500 https://download.docker.com/linux/debian stretch/stable amd64 Packages
     5:19.03.6~3-0~debian-stretch 500
        500 https://download.docker.com/linux/debian stretch/stable amd64 Packages
     5:19.03.5~3-0~debian-stretch 500
        500 https://download.docker.com/linux/debian stretch/stable amd64 Packages
     5:19.03.4~3-0~debian-stretch 500
        500 https://download.docker.com/linux/debian stretch/stable amd64 Packages
     5:19.03.3~3-0~debian-stretch 500
        500 https://download.docker.com/linux/debian stretch/stable amd64 Packages
     5:19.03.2~3-0~debian-stretch 500
        500 https://download.docker.com/linux/debian stretch/stable amd64 Packages
     5:19.03.1~3-0~debian-stretch 500
        500 https://download.docker.com/linux/debian stretch/stable amd64 Packages
     5:19.03.0~3-0~debian-stretch 500
        500 https://download.docker.com/linux/debian stretch/stable amd64 Packages
     5:18.09.9~3-0~debian-stretch 500
        500 https://download.docker.com/linux/debian stretch/stable amd64 Packages
     5:18.09.8~3-0~debian-stretch 500
        500 https://download.docker.com/linux/debian stretch/stable amd64 Packages
     5:18.09.7~3-0~debian-stretch 500
        500 https://download.docker.com/linux/debian stretch/stable amd64 Packages
     5:18.09.6~3-0~debian-stretch 500
        500 https://download.docker.com/linux/debian stretch/stable amd64 Packages
     5:18.09.5~3-0~debian-stretch 500
        500 https://download.docker.com/linux/debian stretch/stable amd64 Packages
     5:18.09.4~3-0~debian-stretch 500
        500 https://download.docker.com/linux/debian stretch/stable amd64 Packages
     5:18.09.3~3-0~debian-stretch 500
        500 https://download.docker.com/linux/debian stretch/stable amd64 Packages
     5:18.09.2~3-0~debian-stretch 500
        500 https://download.docker.com/linux/debian stretch/stable amd64 Packages
     5:18.09.1~3-0~debian-stretch 500
        500 https://download.docker.com/linux/debian stretch/stable amd64 Packages
     5:18.09.0~3-0~debian-stretch 500
        500 https://download.docker.com/linux/debian stretch/stable amd64 Packages
     18.06.3~ce~3-0~debian 500
        500 https://download.docker.com/linux/debian stretch/stable amd64 Packages
     18.06.2~ce~3-0~debian 500
        500 https://download.docker.com/linux/debian stretch/stable amd64 Packages
     18.06.1~ce~3-0~debian 500
        500 https://download.docker.com/linux/debian stretch/stable amd64 Packages
     18.06.0~ce~3-0~debian 500
        500 https://download.docker.com/linux/debian stretch/stable amd64 Packages
     18.03.1~ce-0~debian 500
        500 https://download.docker.com/linux/debian stretch/stable amd64 Packages
     18.03.0~ce-0~debian 500
        500 https://download.docker.com/linux/debian stretch/stable amd64 Packages
     17.12.1~ce-0~debian 500
        500 https://download.docker.com/linux/debian stretch/stable amd64 Packages
     17.12.0~ce-0~debian 500
        500 https://download.docker.com/linux/debian stretch/stable amd64 Packages
     17.09.1~ce-0~debian 500
        500 https://download.docker.com/linux/debian stretch/stable amd64 Packages
     17.09.0~ce-0~debian 500
        500 https://download.docker.com/linux/debian stretch/stable amd64 Packages
     17.06.2~ce-0~debian 500
        500 https://download.docker.com/linux/debian stretch/stable amd64 Packages
     17.06.1~ce-0~debian 500
        500 https://download.docker.com/linux/debian stretch/stable amd64 Packages
     17.06.0~ce-0~debian 500
        500 https://download.docker.com/linux/debian stretch/stable amd64 Packages
     17.03.3~ce-0~debian-stretch 500
        500 https://download.docker.com/linux/debian stretch/stable amd64 Packages
     17.03.2~ce-0~debian-stretch 500
        500 https://download.docker.com/linux/debian stretch/stable amd64 Packages
     17.03.1~ce-0~debian-stretch 500
        500 https://download.docker.com/linux/debian stretch/stable amd64 Packages
     17.03.0~ce-0~debian-stretch 500
        500 https://download.docker.com/linux/debian stretch/stable amd64 Packages

При этом docker-ce не устанавливается, но для установки будет использован репозиторий Docker для Debian 9 (Stretch).

Устанавливаем Docker:

sudo apt install docker-ce  

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

Проверим, что процесс запущен:

sudo systemctl status docker  
root@kvmde67-19464:~# sudo systemctl status docker  
● docker.service - Docker Application Container Engine
   Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled
   Active: active (running) since Wed 2020-05-06 15:15:44 MSK; 2min 51s ago
     Docs: https://docs.docker.com
 Main PID: 6594 (dockerd)
   CGroup: /system.slice/docker.service
           └─6594 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.so

May 06 15:15:44 kvmde67-19464.fornex.org dockerd[6594]: time="2020-05-06T15:15:44.4160  
May 06 15:15:44 kvmde67-19464.fornex.org dockerd[6594]: time="2020-05-06T15:15:44.4167  
May 06 15:15:44 kvmde67-19464.fornex.org dockerd[6594]: time="2020-05-06T15:15:44.4173  
May 06 15:15:44 kvmde67-19464.fornex.org dockerd[6594]: time="2020-05-06T15:15:44.4182  
May 06 15:15:44 kvmde67-19464.fornex.org dockerd[6594]: time="2020-05-06T15:15:44.6000  
May 06 15:15:44 kvmde67-19464.fornex.org dockerd[6594]: time="2020-05-06T15:15:44.7043  
May 06 15:15:44 kvmde67-19464.fornex.org dockerd[6594]: time="2020-05-06T15:15:44.8040  
May 06 15:15:44 kvmde67-19464.fornex.org dockerd[6594]: time="2020-05-06T15:15:44.8067  
May 06 15:15:44 kvmde67-19464.fornex.org systemd[1]: Started Docker Application Contai  
May 06 15:15:44 kvmde67-19464.fornex.org dockerd[6594]: time="2020-05-06T15:15:44.8603  

При установке Docker мы получаем не только сервис Docker, но и утилиту командной строки docker или клиент Docker.


Также для установки Docker вы можете воспользоваться нашим One-Click-Apps для установки одним нажатием клавиши.
Для этого выберите необходимый тарифный план VPS и выберите Приложения → Docker, для установки.
Учитывайте пожалуйста, что при этом Docker будет установлен на ОС Ubuntu 18.04.


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

Как установить и использовать Docker в Debian 9


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


 


Docker де-факто является стандартом для контейнерных технологий и является важным инструментом для инженеров DevOps и их конвейера непрерывной интеграции и доставки.


Прежде чем приступить


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


Установить Docker на Debian


Следующие шаги описывают, как установить последнюю стабильную версию Docker из репозиториев Docker.


 


  1. Обновите установленные пакеты до последней версии:

     

    sudo apt update sudo apt upgrade 
    
    

  2. Установите зависимости, необходимые для добавления нового репозитория через HTTPS:

     

    sudo apt install apt-transport-https ca-certificates curl software-properties-common gnupg2 
    
    

  3. Импортируйте ключ GPG репозитория с помощью следующей curl команды :

     

    curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add - 




    Добавьте репозиторий Docker APT в список репозиториев программного обеспечения вашей системы, набрав:

     

    sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable" 


    $(lsb_release -cs) вернет имя дистрибутива Debian, в этом случае вернет stretch .

     


  4. Теперь, когда репозиторий Docker включен, обновите apt список пакетов и установите последнюю версию Docker CE (Community Edition) с помощью:

     

    sudo apt update sudo apt install docker-ce 
    
    

  5. После завершения установки служба Docker запустится автоматически. Вы можете проверить это, набрав:

     

    sudo systemctl status docker 
    ● docker.service - Docker Application Container Engine
    Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
    Active: active (running) since Fri 2018-07-27 17:02:07 UTC; 1min 14s ago
        Docs: https://docs.docker.com
    Main PID: 16929 (dockerd)
    CGroup: /system.slice/docker.service 
    
    

  6. На момент написания текущая версия Docker, доступная для Debian 9, — это 18.06.0-ce . Проверьте версию Docker с помощью:

     

    docker -v 
    Docker version 18.06.0-ce, build 0ffa825 


Выполнение команды Docker без Sudo


По умолчанию только пользователь с правами администратора может выполнять команды Docker.


Если вы хотите запускать команды Docker от имени пользователя без полномочий root без предварительного добавления, sudo вам необходимо добавить своего пользователя в группу докеров, которая создается во время установки пакета Docker CE. Вы можете сделать это, набрав:

 

sudo usermod -aG docker $USER 



$USER — это переменная среды, в которой хранится ваше имя пользователя.


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


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

 

docker container run hello-world 




Результат должен выглядеть следующим образом:

 

 

Интерфейс командной строки Docker


Теперь, когда у нас установлен Docker, давайте рассмотрим базовый синтаксис интерфейса командной строки docker:

 

docker [option] [subcommand] [arguments] 




Чтобы вывести список всех доступных команд, запускаемых docker без параметров:

 

docker 




Если вам нужна дополнительная помощь по любому из них [subcommand] , вы можете использовать --help переключатель, как показано ниже:

 

docker [subcommand] --help 


Образы Docker


Образ Docker состоит из ряда слоев файловой системы, представляющих инструкции в файле Dockerfile образа, которые составляют исполняемое программное приложение. Изображение — это неизменяемый двоичный файл, включающий приложение и все другие зависимости, такие как библиотеки, двоичные файлы и инструкции, необходимые для запуска приложения.


Вы можете думать об образе Docker как о снимке контейнера Docker.

 

Большинство образов Docker доступны в Docker Hub.
 


Docker Hub — это облачная служба реестра, которая, среди прочего, используется для хранения образов Docker в общедоступном или частном репозитории.


Поиск по изображению Docker


Чтобы найти изображение в реестре Docker Hub, используйте search подкоманду.


Например, чтобы найти образ Debian, вы должны ввести:

 

docker search debian 




Результат должен выглядеть так:

 

 


Как вы можете видеть результаты поиска печатает таблицу с пятью столбцами, NAME , DESCRIPTION , STARS , OFFICIAL и AUTOMATED .


Официальный образ — это образ, который Docker разрабатывает совместно с партнерами по разработке.


Большинство образов Docker в Docker Hub помечены номерами версий. Если тег не указан, Docker извлечет последний образ.


Скачать образ Docker


Если мы хотим загрузить официальную сборку образа Debian, мы можем сделать это с помощью image pull подкоманды:

 

docker image pull debian 

 


В зависимости от скорости вашего интернета загрузка может занять несколько секунд или несколько минут.


 


Поскольку мы не указали тег, docker загрузит последний образ Debian, то есть 9.5. Если вы хотите использовать некоторые из предыдущих версий Debian , скажем, Debian 8, вам нужно использоватьdocker image pull debian:8


После загрузки изображения мы можем перечислить изображения, набрав:

 

docker image ls 




Результат будет выглядеть примерно так:

 


Удалить образ Docker


Если по какой-то причине вы хотите удалить изображение, вы можете сделать это с помощью image rm [image_name] подкоманды:

 

docker image rm debian 

 

Контейнеры Docker


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


 


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


Мы можем запускать, останавливать, удалять и управлять контейнером с помощью docker container подкоманды.


Запустить контейнер Docker


Следующая команда запустит контейнер Docker на основе образа Debian. Если у вас нет образа локально, сначала он будет загружен:

 

docker container run debian 




На первый взгляд вам может показаться, что вообще ничего не произошло. Что ж, это неправда. Контейнер Debian останавливается сразу после загрузки, потому что у него нет длительного процесса, и мы не предоставили никакой команды, поэтому контейнер загрузился, выполнил пустую команду и затем завершил работу.


Переключатель -it позволяет нам взаимодействовать с контейнером через командную строку. Чтобы запустить интерактивный контейнер, введите:

 

docker container run -it debian /bin/bash 
root@ee86c8c81b3b:/#
 


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


Список контейнеров Docker


Чтобы вывести список запущенных контейнеров , введите:

 

docker container ls 

 




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


Чтобы просмотреть все контейнеры, передайте -a переключатель:

 

docker container ls -a 

 

Удалить контейнеры Docker


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

 

docker container rm c55680af670c 


Заключение


Вы узнали, как установить Docker на свой компьютер Debian 9 и как загружать образы Docker и управлять контейнерами Docker. Этот учебник едва ли поверхностно затрагивает экосистему Docker. В некоторых из наших следующих статей мы продолжим углубляться в другие аспекты Docker.


Вам также следует ознакомиться с официальной документацией Docker .

Установка Docker Compose в Debian 9

Docker — программное обеспечение для автоматизации развёртывания и управления приложениями в среде виртуализации на уровне операционной системы. Позволяет «упаковать» приложение со всем его окружением и зависимостями в контейнер, который может быть перенесён на любую Linux-систему с поддержкой cgroups в ядре, а также предоставляет среду по управлению контейнерами.

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

Особенности Compose, которые делают его эффективным:

  • Несколько изолированных сред на одном хосте
  • Защита данных тома при создании контейнеров
  • Пересоздаются только измененные контейнеры
  • Перемещение переменных между средами

Перед установкой Docker Compose убедитесь что Docker установлен, подробно с установкой можно ознакомиться в данном руководстве.

Установка Docker Compose

Выполним установку Docker Compose из репозитория Docker на GitHub. Представленный ниже синтаксис позволяет избежать ошибки отсутствия прав доступа, возникающую при использовании sudo.

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

sudo curl -L https://github.com/docker/compose/releases/download/1.25.5/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose  
root@kvmde67-19464:~# sudo curl -L https://github.com/docker/compose/releases/download/1.25.5/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose  
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   638  100   638    0     0    979      0 --:--:-- --:--:-- --:--:--   980  
100 16.7M  100 16.7M    0     0  1198k      0  0:00:14  0:00:14 --:--:-- 2471k  

Далее настроим разрешения:

sudo chmod +x /usr/local/bin/docker-compose  

Затем мы проверим, что установка прошла успешно:

docker-compose --version  

Вы увидите подобный вывод:

root@kvmde67-19464:~# docker-compose --version  
docker-compose version 1.25.5, build 8a1c60f6  

Запуск контейнера с помощью Docker Compose

В реестре Docker, Docker Hub, содержится образ Hello World, используемый для демонстрации и тестирования. Он демонстрирует минимальные параметры конфигурации, необходимые для запуска контейнера с помощью Docker Compose: файл YAML, вызывающий отдельный образ:

Создадим директорию для файла YAML:

mkdir hello-world  

Перейдем в нее:

cd hello-world  

Далее создадим в этой директории файл YAML:

nano docker-compose.yml  

Поместите в файл следующие данные, сохраните его и закройте текстовый редактор:

my-test:  
 image: hello-world

Первая строка файла YAML используется в качестве части имени контейнера.
Вторая строка указывает, какой образ используется для создания контейнера.
При запуске команды docker-compose up она будет искать локальный образ по указанному имени, т.е. hello-world.

Далее можно просмотреть образы в нашей системе с помощью команды docker images:

docker images  

Когда локальные образы отсутствуют, будут отображены только заголовки столбцов:

REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE  

Далее, находясь в директории ~/hello-world, мы выполним следующую команду:

docker-compose up  

После загрузки образа docker-compose создает контейнер, помещает в него и запускает программу hello:

root@kvmde67-19464:~/hello-world# docker-compose up  
Creating hello-world_my-test_1 ... done  
Attaching to hello-world_my-test_1  
my-test_1  |  
my-test_1  | Hello from Docker!  
my-test_1  | This message shows that your installation appears to be working correctly.  
my-test_1  |  
my-test_1  | To generate this message, Docker took the following steps:  
my-test_1  |  1. The Docker client contacted the Docker daemon.  
my-test_1  |  2. The Docker daemon pulled the "hello-world" image from the Docker Hub.  
my-test_1  |     (amd64)  
my-test_1  |  3. The Docker daemon created a new container from that image which runs the  
my-test_1  |     executable that produces the output you are currently reading.  
my-test_1  |  4. The Docker daemon streamed that output to the Docker client, which sent it  
my-test_1  |     to your terminal.  
my-test_1  |  
my-test_1  | To try something more ambitious, you can run an Ubuntu container with:  
my-test_1  |  $ docker run -it ubuntu bash  
my-test_1  |  
my-test_1  | Share images, automate workflows, and more with a free Docker ID:  
my-test_1  |  https://hub.docker.com/  
my-test_1  |  
my-test_1  | For more examples and ideas, visit:  
my-test_1  |  https://docs.docker.com/get-started/  
my-test_1  |  
hello-world_my-test_1 exited with code 0  

Контейнеры Docker продолжают работать, пока команда остается активной, поэтому после завершения работы hello контейнер останавливается. Следовательно, когда мы просматриваем активные процессы, заголовки столбцов будут появляться, но контейнер hello-world не будет появляться в списке, поскольку он не запущен.

docker ps  
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                      PORTS               NAMES  

Мы можем просмотреть информацию контейнера, используя флаг -a, с помощью которого можно отобразить все контейнеры, а не только активные:

docker ps -a  
root@kvmde67-19464:~/hello-world# docker ps -a  
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                     PORTS               NAMES  
4e8158d490ac        hello-world         "/hello"            7 minutes ago       Exited (0) 7 minutes ago                       hello-world_my-test_1  

Установите Docker Engine на Debian

Приблизительное время чтения: 11 минут

Чтобы начать работу с Docker Engine в Debian, убедитесь, что вы
выполнить предпосылки, тогда
установить Docker.

Предварительные требования

Требования к ОС

Для установки Docker Engine вам потребуется 64-разрядная версия одного из этих Debian или
Версии Raspbian:

  • Debian Bullseye 11 (стабильная)
  • Debian Buster 10 (старая стабильная версия)
  • Raspbian Bullseye 11 (стабильный)
  • Raspbian Buster 10 (старый стабильный)

Docker Engine поддерживается на архитектурах x86_64 (или amd64 ), armhf и arm64 .

Удалить старые версии

Старые версии Docker назывались docker , docker.io или docker-engine .
Если они установлены, удалите их:

  $ sudo apt-get remove docker docker-engine docker.io containerd runc
  

Это нормально, если apt-get сообщает, что ни один из этих пакетов не установлен.

Содержимое / var / lib / docker / , включая образы, контейнеры, тома и
сети, сохраняются.Пакет Docker Engine теперь называется docker-ce .

Способы установки

Вы можете установить Docker Engine по-разному, в зависимости от ваших потребностей:

  • Большинство пользователей
    настроить репозитории Docker и установить
    от них, для простоты установки и задач обновления. Это
    рекомендуемый подход, кроме Raspbian.

  • Некоторые пользователи скачивают пакет DEB и
    установить его вручную и управлять
    полностью обновляется вручную.Это полезно в таких ситуациях, как установка
    Докер в системах с воздушными зазорами без доступа к Интернету.

  • В средах тестирования и разработки некоторые пользователи предпочитают использовать автоматизированные
    удобные скрипты для установки Docker.
    В настоящее время это единственный подход для Raspbian.

Установить с помощью репозитория

Перед первой установкой Docker Engine на новый хост-компьютер вам необходимо
для настройки репозитория Docker.После этого вы можете установить и обновить Docker.
из репозитория.

Пользователи Raspbian не могут использовать этот метод!

Для Raspbian установка с использованием репозитория пока не поддерживается. Вы должны
вместо этого используйте удобный сценарий.

Настроить репозиторий
  1. Обновите индекс пакета apt и установите пакеты, чтобы разрешить apt использовать
    репозиторий через HTTPS:

      $ sudo apt-get update
    
    $ sudo apt-get install \
        АПТ-транспорт-https \
        ca-сертификаты \
        завиток \
        gnupg \
        lsb-релиз
      
  2. Добавить официальный ключ GPG Докера:

      $ curl -fsSL https: // скачать.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
      
  3. Используйте следующую команду для настройки стабильного репозитория . Чтобы добавить
    nightly или test repository, добавьте слово nightly или test (или оба)
    после слова стабильный в приведенных ниже командах. Узнайте о ночных каналах и тестируйте каналы .

    Примечание : Подкоманда lsb_release -cs ниже возвращает имя вашего
    Дистрибутив Debian, например гелий .Иногда в раздаче
    как и BunsenLabs Linux, вам может потребоваться изменить $ (lsb_release -cs)
    в ваш родительский дистрибутив Debian. Например, если вы используете
    BunsenLabs Linux Helium , вы можете использовать stretch . Docker не дает никаких гарантий на непроверенные
    и неподдерживаемые дистрибутивы Debian.

      $ эхо \
      "deb [arch = $ (dpkg --print-architecture) signed-by = / usr / share / keyrings / docker-archive-keyring.gpg] https: // download.docker.com/linux/debian \
      $ (lsb_release -cs) стабильный "| sudo tee /etc/apt/sources.list.d/docker.list> / dev / null
      
Установить Docker Engine

Эта процедура работает для Debian на x86_64 / amd64 , armhf , arm64 и Raspbian.

  1. Обновите индекс пакета apt и установите последнюю версию Docker
    Engine и containerd, либо перейдите к следующему шагу, чтобы установить определенную версию:

      $ sudo apt-get update
     $ sudo apt-get install docker-ce docker-ce-cli containerd.io
      

    У вас несколько репозиториев Docker?

    Если у вас включено несколько репозиториев Docker, установка
    или обновление без указания версии в apt-get install или
    apt-get update Команда всегда устанавливает максимально возможную версию,
    что может не соответствовать вашим потребностям в стабильности.

  2. Чтобы установить версию Docker Engine для , перечислите доступные версии.
    в репо, затем выберите и установите:

    а.Перечислите версии, доступные в вашем репо:

      $ APT-кеш Мэдисон Докер-СЕ
    
      docker-ce | 5: 18.09.1 ​​~ 3-0 ~ debian-stretch | https://download.docker.com/linux/debian stretch / стабильные пакеты amd64
      docker-ce | 5: 18.09.0 ~ 3-0 ~ debian-stretch | https://download.docker.com/linux/debian stretch / стабильные пакеты amd64
      docker-ce | 18.06.1 ~ ce ~ 3-0 ~ debian | https://download.docker.com/linux/debian stretch / стабильные пакеты amd64
      docker-ce | 18.06.0 ~ ce ~ 3-0 ~ debian | https: // скачать.docker.com/linux/debian stretch / стабильные пакеты amd64
      

    г. Установите конкретную версию, используя строку версии из второго столбца,
    например, 5: 18.09.1 ​​~ 3-0 ~ debian-stretch .

      $ sudo apt-get install docker-ce =  docker-ce-cli =  containerd.io
      
  3. Убедитесь, что Docker Engine установлен правильно, запустив hello-world
    изображение.

      $ sudo docker run привет-мир
      

    Эта команда загружает тестовый образ и запускает его в контейнере. Когда
    контейнер запускается, он печатает сообщение и закрывается.

Docker Engine установлен и работает. Группа docker создана, но пользователей нет
добавляются к нему. Вам нужно использовать sudo для запуска команд Docker.
Перейдите к постинсталляции Linux, чтобы разрешить непривилегированное
пользователи могут запускать команды Docker и выполнять другие необязательные шаги настройки.

Обновление Docker Engine

Чтобы обновить Docker Engine, сначала запустите sudo apt-get update , затем следуйте инструкциям
инструкция по установке, выбрав новый
версию, которую вы хотите установить.

Установить из пакета

Если вы не можете использовать репозиторий Docker для установки Docker Engine, вы можете загрузить
.deb для вашего выпуска и установите его вручную. Вам нужно скачать
новый файл каждый раз, когда вы хотите обновить Docker.

  1. Перейти на https: // загрузить.docker.com/linux/debian/dists/ ,
    выберите свою версию Debian, затем перейдите к пулу / стабильному / , выберите amd64 ,
    armhf или arm64 и загрузите файл .deb для Docker Engine.
    версию, которую вы хотите установить.

    Примечание

    Чтобы установить пакет nightly или test (предварительный выпуск),
    замените слово стабильный в указанном выше URL на nightly или test .Узнайте о ночных каналах и тестируйте каналы .

  2. Установите Docker Engine, изменив путь ниже на путь, по которому вы скачали
    пакет Docker.

      $ sudo dpkg -i /path/to/package.deb
      

    Демон Docker запускается автоматически.

  3. Убедитесь, что Docker Engine установлен правильно, запустив hello-world
    изображение.

      $ sudo docker run привет-мир
      

    Эта команда загружает тестовый образ и запускает его в контейнере.Когда
    контейнер запускается, он печатает сообщение и закрывается.

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

Обновление Docker Engine

Чтобы обновить Docker Engine, загрузите новый файл пакета и повторите
процедура установки, указав на новый файл.

Установить с помощью вспомогательного скрипта

Docker предоставляет удобный скрипт на get.docker.com
для быстрой и неинтерактивной установки Docker в среду разработки.
Удобный скрипт не рекомендуется для производственной среды, но его можно
используется в качестве примера для создания сценария подготовки, адаптированного к вашим потребностям.
Также обратитесь к установке с использованием репозитория
шаги, чтобы узнать о шагах установки для установки с использованием репозитория пакетов.
Исходный код скрипта имеет открытый исходный код, и его можно найти в
docker-install репозиторий на GitHub.

Всегда проверяйте загруженные из Интернета сценарии перед их локальным запуском.
Перед установкой ознакомьтесь с потенциальными рисками и ограничениями.
сценария удобства:

  • Для запуска сценария требуются root или sudo привилегий.
  • Сценарий пытается определить ваш дистрибутив и версию Linux и
    настроить вашу систему управления пакетами для вас, и не позволяет вам
    настроить большинство параметров установки.
  • Скрипт устанавливает зависимости и рекомендации, не запрашивая
    подтверждение. Это может установить большое количество пакетов, в зависимости от
    текущая конфигурация вашего хост-компьютера.
  • По умолчанию скрипт устанавливает последнюю стабильную версию Docker, containerd,
    и runc. При использовании этого сценария для подготовки машины это может привести к
    неожиданные обновления основной версии Docker. Всегда тестируйте (основные) обновления в
    тестовую среду перед развертыванием в ваших производственных системах.
  • Сценарий не предназначен для обновления существующей установки Docker. Когда
    используя скрипт для обновления существующей установки, зависимости могут не быть
    обновлен до ожидаемой версии, в результате чего будут использоваться устаревшие версии.

Совет: предварительный просмотр шагов сценария перед запуском

Вы можете запустить сценарий с опцией DRY_RUN = 1 , чтобы узнать, какие шаги
скрипт выполнится во время установки:

  $ curl -fsSL https: // get.docker.com -o get-docker.sh
$ DRY_RUN = 1 ш ./get-docker.sh
  

В этом примере скрипт загружается с get.docker.com
и запускает его для установки последней стабильной версии Docker в Linux:

  $ curl -fsSL https://get.docker.com -o get-docker.sh
$ sudo sh get-docker.sh
Выполнение скрипта установки докера, фиксация: 7cae5f8b0decc17d6571f9f52eb840fbc13b2737
<...>
  

Докер установлен. Служба docker запускается автоматически в Debian на основе
раздачи.В дистрибутивах на основе RPM и , таких как CentOS, Fedora, RHEL или SLES,
вам нужно запустить его вручную с помощью соответствующей команды systemctl или service .
Как указано в сообщении, пользователи без полномочий root не могут запускать команды Docker по умолчанию.

Использовать Docker как непривилегированный пользователь или установить в режиме без root?

Сценарий установки требует root или sudo привилегий для установки и
использовать Docker.Если вы хотите предоставить пользователям без полномочий root доступ к Docker, см.
послеустановочные шаги для Linux.
Docker также можно установить без root привилегий или настроить для запуска
в безруневом режиме. Инструкции по запуску Docker в режиме без root см. В
запустите демон Docker от имени пользователя без полномочий root (режим без полномочий root).

Установить предварительные версии

Docker также предоставляет удобный скрипт на test.docker.com.
для установки предварительных релизов Docker в Linux. Этот сценарий эквивалентен
скрипт на получить.docker.com , но настраивает диспетчер пакетов для включения
«Тестовый» канал из нашего репозитория пакетов, который включает как стабильные, так и
пре-релизы (бета-версии, релиз-кандидаты) Docker. Используйте этот скрипт для
получить ранний доступ к новым выпускам и оценить их в тестовой среде
прежде, чем они будут выпущены как стабильные.

Чтобы установить последнюю версию Docker в Linux из «тестового» канала, запустите:

  $ curl -fsSL https://test.docker.com -o test-docker.ш
$ sudo sh test-docker.sh
<...>
  
Обновите Docker после использования вспомогательного скрипта

Если вы установили Docker с помощью вспомогательного скрипта, вам следует обновить Docker.
напрямую с помощью диспетчера пакетов. Нет никаких преимуществ в повторном запуске
удобный сценарий, и он может вызвать проблемы, если он попытается повторно добавить
репозитории, которые уже были добавлены на хост-машину.

Удалить Docker Engine

  1. Удалите пакеты Docker Engine, CLI и Containerd:

      $ sudo apt-get purge docker-ce docker-ce-cli containerd.io
      
  2. Образы, контейнеры, тома или настраиваемые файлы конфигурации на вашем хосте
    не удаляются автоматически. Чтобы удалить все изображения, контейнеры и
    тома:

      $ sudo rm -rf / var / lib / докер
    $ sudo rm -rf / var / lib / containerd
      

Все отредактированные файлы конфигурации необходимо удалить вручную.

Следующие шаги

требования, apt, установка, debian, установка, удаление, обновление, обновление

Как установить и использовать Docker в Debian 9

Не используете Debian 9?


Выберите другую версию или дистрибутив.

Debian 9

Предыдущая версия этого руководства была написана finid.

Введение

Docker — это приложение, упрощающее процесс управления процессами приложений в контейнерах . Контейнеры позволяют запускать приложения в процессах, изолированных от ресурсов. Они похожи на виртуальные машины, но контейнеры более портативны, удобнее в использовании и больше зависят от операционной системы хоста.

Для подробного ознакомления с различными компонентами контейнера Docker см. Экосистема Docker: Введение в общие компоненты.

В этом руководстве вы установите и используете Docker Community Edition (CE) в Debian 9. Вы установите сам Docker, поработаете с контейнерами и образами и отправите образ в репозиторий Docker.

Предварительные требования

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

  • Один сервер Debian 9, настроенный в соответствии с руководством по начальной настройке сервера Debian 9, включая пользователя sudo без полномочий root и брандмауэр.
  • Учетная запись в Docker Hub, если вы хотите создавать свои собственные образы и отправлять их в Docker Hub, как показано в шагах 7 и 8.

Шаг 1. Установка Docker

Установочный пакет Docker, доступный в официальном репозитории Debian, может быть не последней версией. Чтобы получить последнюю версию, мы установим Docker из официального репозитория Docker. Для этого мы добавим новый источник пакета, добавим ключ GPG из Docker, чтобы убедиться, что загрузки действительны, а затем установим пакет.

Сначала обновите существующий список пакетов:

  

Затем установите несколько необходимых пакетов, которые позволяют apt использовать пакеты через HTTPS:

  
  • sudo apt install apt-transport-https ca-Certificates curl gnupg2 software-properties-common

Затем добавьте в свою систему ключ GPG для официального репозитория Docker:

  
  • curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key добавить -

Добавить репозиторий Docker в источники APT:

  
  • sudo add-apt-repository "deb [arch = amd64] https: // download.docker.com/linux/debian $ (lsb_release -cs) стабильный "

Затем обновите базу данных пакетов пакетами Docker из недавно добавленного репо:

  

Убедитесь, что вы собираетесь установить из репозитория Docker вместо репозитория Debian по умолчанию:

  
  • apt-cache policy docker-ce

Вы увидите такой вывод, хотя номер версии для Docker может быть другим:

Вывод политики apt-cache policy docker-ce

  docker-ce:
  Установлено: (нет)
  Кандидат: 18.06.1 ~ ce ~ 3-0 ~ debian
  Таблица версий:
     18.06.1 ~ ce ~ 3-0 ~ debian 500
        500 https://download.docker.com/linux/debian stretch / стабильных пакетов amd64
  

Обратите внимание, что docker-ce не установлен, но кандидат на установку находится из репозитория Docker для Debian 9 ( stretch ).

Наконец, установите Docker:

  
  • sudo apt установить docker-ce

Docker должен быть установлен, демон запущен, и процесс должен запускаться при загрузке.Убедитесь, что он работает:

  
  • sudo systemctl status docker

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

  

Вывод

● docker.service - механизм контейнеров приложений Docker Загружено: загружено (/lib/systemd/system/docker.service; включено; предустановка поставщика: включено) Активен: активен (работает) с Thu 2018-07-05 15:08:39 UTC; 2мин 55с назад Документы: https: // docs.docker.com Основной PID: 21319 (dockerd) CGroup: /system.slice/docker.service ├─21319 / usr / bin / dockerd -H fd: // └─21326 docker-containerd --config /var/run/docker/containerd/containerd.toml

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

Шаг 2. Выполнение команды Docker без Sudo (необязательно)

По умолчанию команда docker может быть запущена только пользователем root или пользователем из группы docker , которая автоматически создается в процессе установки Docker.Если вы попытаетесь запустить команду docker без префикса sudo или не входя в группу docker , вы получите следующий результат:

  

Вывод

docker: не удается подключиться к демону Docker. На этом хосте запущен демон докера? См. Docker run --help.

Если вы не хотите вводить sudo при каждом запуске команды docker , добавьте свое имя пользователя в группу docker :

  
  • sudo usermod -aG docker $ {USER}

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

  

Вам будет предложено ввести пароль пользователя, чтобы продолжить.

Подтвердите, что ваш пользователь теперь добавлен в группу docker , набрав:

  
  

Выход

sammy sudo docker

Если вам нужно добавить пользователя в группу docker , под которым вы не вошли в систему, явно укажите это имя пользователя, используя:

  
  • sudo usermod -aG имя пользователя docker

В оставшейся части статьи предполагается, что вы запускаете команду docker как пользователь в группе docker .Если вы решите не делать этого, добавьте к командам sudo .

Давайте теперь рассмотрим команду docker .

Шаг 3. Использование команды Docker

Использование докера состоит из передачи ему цепочки опций и команд, за которыми следуют аргументы. Синтаксис имеет следующий вид:

  
  • докер [параметр] [команда] [аргументы]

Чтобы просмотреть все доступные подкоманды, введите:

  

Начиная с Docker 18 полный список доступных подкоманд включает:

  

Выход

прикрепить Присоединить локальные стандартные потоки ввода, вывода и ошибок к работающему контейнеру build Построить образ из Dockerfile commit Создать новый образ из изменений контейнера cp Копировать файлы / папки между контейнером и локальной файловой системой create Создать новый контейнер diff Проверять изменения файлов или каталогов в файловой системе контейнера события Получайте события в реальном времени с сервера exec Выполнить команду в работающем контейнере экспорт Экспорт файловой системы контейнера как tar-архива история Показать историю изображения изображения Список изображений import Импортировать содержимое из архива для создания образа файловой системы info Отображение общесистемной информации inspect Возвращает низкоуровневую информацию об объектах Docker kill Убить один или несколько запущенных контейнеров load Загрузить изображение из tar-архива или STDIN войти Войдите в реестр Docker logout Выйти из реестра Docker logs Получить журналы контейнера pause Приостановить все процессы в одном или нескольких контейнерах порт Список сопоставлений портов или конкретное сопоставление для контейнера ps Список контейнеров pull Извлечь изображение или репозиторий из реестра push Отправить образ или репозиторий в реестр переименовать Переименовать контейнер перезапустить Перезагрузить один или несколько контейнеров rm Удалите один или несколько контейнеров rmi Удалить одно или несколько изображений run Выполнить команду в новом контейнере сохранить Сохранить одно или несколько изображений в tar-архив (по умолчанию передается в STDOUT) поиск Поиск изображений в Docker Hub start Запустить один или несколько остановленных контейнеров stats Отображение в реальном времени статистики использования ресурсов контейнера (ов) stop Остановить один или несколько работающих контейнеров tag Создайте тег TARGET_IMAGE, который ссылается на SOURCE_IMAGE наверх Отображение запущенных процессов контейнера unpause Отменить все процессы в одном или нескольких контейнерах update Обновить конфигурацию одного или нескольких контейнеров version Показать информацию о версии Docker ждать Блокируйте, пока не остановится один или несколько контейнеров, затем распечатайте их коды выхода

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

  
  • docker docker-подкоманда --help

Для просмотра общесистемной информации о Docker используйте:

  

Давайте рассмотрим некоторые из этих команд.Начнем с работы с изображениями.

Шаг 4. Работа с образами Docker

Docker-контейнеры построены из Docker-образов. По умолчанию Docker извлекает эти образы из Docker Hub, реестра Docker, управляемого Docker, компанией, стоящей за проектом Docker. Любой желающий может разместить свои образы Docker в Docker Hub, поэтому для большинства приложений и дистрибутивов Linux, которые вам понадобятся, будут размещены образы именно там.

Чтобы проверить, можете ли вы получить доступ и загрузить образы из Docker Hub, введите:

  

Вывод укажет, что Docker работает правильно:

  

Выход

Невозможно найти изображение 'hello-world: latest' локально последнее: извлечение из библиотеки / hello-world 9db2ca6ccae0: Извлечение завершено Дайджест: sha256: 4b8ff392a12ed9ea17784bd3c9a8b1fa3299cac44aca35a85c90c5e3c7afacdc Статус: загружено новое изображение для hello-world: latest Привет из Докера! Это сообщение показывает, что ваша установка работает правильно....

Docker изначально не смог найти образ hello-world локально, поэтому он загрузил образ из Docker Hub, который является репозиторием по умолчанию. После загрузки образа Docker создал контейнер из образа, и приложение в контейнере запустилось, отобразив сообщение.

Вы можете искать образы, доступные в Docker Hub, с помощью команды docker с подкомандой search . Например, чтобы найти образ Ubuntu, введите:

  

Скрипт просканирует Docker Hub и вернет список всех изображений, имена которых соответствуют строке поиска.В этом случае результат будет примерно таким:

  

Выход

ИМЯ ОПИСАНИЕ ЗВЕЗДЫ ОФИЦИАЛЬНЫЙ АВТОМАТ ubuntu Ubuntu - это операционная система Linux на основе Debian… 8320 [OK] dorowu / ubuntu-desktop-lxde-vnc Ubuntu с openssh-server и NoVNC 214 [OK] rastasheep / ubuntu-sshd Dockerized SSH-сервис, созданный на основе офи… 170 [OK] consol / ubuntu-xfce-vnc Контейнер Ubuntu с "безголовым" сеансом VNC… 128 [OK] доступный / убунту14.04-ansible Ubuntu 14.04 LTS с ansible 95 [OK] ubuntu-upstart Upstart - это основанная на событиях замена th… 88 [OK] Neurodebian NeuroDebian предоставляет исследования в области нейробиологии… 53 [OK] 1and1internet / ubuntu-16-nginx-php-phpmyadmin-mysql-5 ubuntu-16-nginx-php-phpmyadmin-mysql-5 43 [ОК] ubuntu-debootstrap debootstrap --variant = minbase --components = m… 39 [OK] nuagebec / ubuntu Простые всегда обновляемые образы докеров Ubuntu w… 23 [OK] tutum / ubuntu Простые образы докеров Ubuntu с доступом по SSH 18 i386 / ubuntu Ubuntu - это операционная система Linux на основе Debian… 13 1and1internet / ubuntu-16-apache-php-7.0 ubuntu-16-apache-php-7.0 12 [ОК] ppc64le / ubuntu Ubuntu - это операционная система Linux на основе Debian… 12 eclipse / ubuntu_jdk8 Ubuntu, JDK8, Maven 3, git, curl, nmap, mc,… 6 [OK] darksheer / ubuntu Базовый образ Ubuntu - обновляется ежечасно 4 [OK] codenvy / ubuntu_jdk8 Ubuntu, JDK8, Maven 3, git, curl, nmap, mc,… 4 [ОК] 1and1internet / ubuntu-16-nginx-php-5.6-wordpress-4 ubuntu-16-nginx-php-5.6-wordpress-4 3 [ОК] pivotaldata / ubuntu Быстрое обновление базовой документации Ubuntu… 2 1and1internet / ubuntu-16-sshd ubuntu-16-sshd 1 [ОК] ossobv / ubuntu Пользовательский образ ubuntu с нуля (на основе o… 0 smartentry / ubuntu ubuntu с умной обработкой 0 [OK] 1and1internet / ubuntu-16-healthcheck ubuntu-16-healthcheck 0 [OK] pivotaldata / ubuntu-gpdb-dev образы Ubuntu для разработки GPDB 0 paasmule / bosh-tools-ubuntu bosh-cli 0 на основе Ubuntu [OK] ...

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

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

  

Вы увидите следующий результат:

  

Выход

Использование тега по умолчанию: последний последнее: извлечение из библиотеки / ubuntu 6b98dfc16071: Вытягивание завершено 4001a1209541: Вытягивание завершено 6319fc68c576: Вытягивание завершено b24603670dc3: Вытягивание завершено 97f170c87c6f: Вытягивание завершено Дайджест: sha256: 5f4bdc3467537cbbe563e80db2c3ec95d548a9145d64453b06939c4592d67b6d Статус: загружено более новое изображение для ubuntu: последнее

После загрузки образа вы можете запустить контейнер, используя загруженный образ с подкомандой run .Как вы видели в примере hello-world , если образ не был загружен при выполнении docker с подкомандой run , клиент Docker сначала загрузит образ, а затем запустит контейнер, используя его.

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

  

Результат должен выглядеть примерно так:

  

Выход

РЕПОЗИТОРНЫЙ ТЕГ ИДЕНТИФИКАТОР ИЗОБРАЖЕНИЯ СОЗДАННЫЙ РАЗМЕР ubuntu последнее 16508e5c265d 13 дней назад 84.1 МБ hello-world последнее 2cb0d9787c4d 7 недель назад 1.85kB

Как вы увидите далее в этом руководстве, образы, которые вы используете для запуска контейнеров, можно модифицировать и использовать для создания новых образов, которые затем могут быть загружены ( push — технический термин) в Docker Hub или другие реестры Docker.

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

Шаг 5. Запуск контейнера Docker

Контейнер hello-world , который вы запустили на предыдущем шаге, является примером контейнера, который запускается и завершается после отправки тестового сообщения.Контейнеры могут быть гораздо более полезными, и они могут быть интерактивными. В конце концов, они похожи на виртуальные машины, только более ресурсоемкие.

В качестве примера давайте запустим контейнер, используя последний образ Ubuntu. Комбинация переключателей -i и -t дает вам интерактивный доступ к оболочке контейнера:

  

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

  

Выход

root @ d9b100f2f636: / #

Обратите внимание на идентификатор контейнера в командной строке.В этом примере это d9b100f2f636 . Этот идентификатор понадобится вам позже, чтобы идентифицировать контейнер, когда вы захотите его удалить.

Теперь вы можете запускать любую команду внутри контейнера. Например, давайте обновим базу данных пакетов внутри контейнера. Вам не нужно добавлять префикс sudo к какой-либо команде, потому что вы работаете внутри контейнера как корневой пользователь :

  

Тогда установите в него любое приложение. Давайте установим Node.js:

  

Это устанавливает Node.js в контейнер из официального репозитория Ubuntu. По завершении установки убедитесь, что установлен Node.js:

  

Вы увидите номер версии, отображаемый в вашем терминале:

  

Выход

v8.10.0

Любые изменения, которые вы вносите внутри контейнера, применяются только к этому контейнеру.

Чтобы выйти из контейнера, введите в командной строке exit .

Давайте теперь посмотрим на управление контейнерами в нашей системе.

Шаг 6. Управление контейнерами Docker

После некоторого использования Docker на вашем компьютере будет много активных (работающих) и неактивных контейнеров. Чтобы просмотреть активных , используйте:

  

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

  

Выход

КОНТЕЙНЕР ID ИЗОБРАЖЕНИЕ КОМАНДА СОЗДАНА

В этом руководстве вы запустили два контейнера; один из образа hello-world , а другой из образа ubuntu .Оба контейнера больше не работают, но все еще существуют в вашей системе.

Чтобы просмотреть все контейнеры — активные и неактивные, запустите docker ps с переключателем -a :

  

Вы увидите следующий результат:

  d9b100f2f636 ubuntu "/ bin / bash" Около часа назад Завершился (0) 8 минут назад sharp_volhard
01c950718166 hello-world "/ hello" Около часа назад Завершился (0) Около часа назад festive_williams

  

Чтобы просмотреть последний созданный контейнер, передайте ему ключ -l :

  
  
  • ИДЕНТИФИКАТОР КОНТЕЙНЕРА ИДЕНТИФИКАЦИЯ ИЗОБРАЖЕНИЯ КОМАНДА СОЗДАНО СОСТОЯНИЕ ИМЕНА ПОРТОВ
  • d9b100f2f636 ubuntu "/ bin / bash" Около часа назад Завершился (0) 10 минут назад sharp_volhard

Чтобы запустить остановленный контейнер, используйте docker start , за которым следует идентификатор или имя контейнера.Давайте запустим контейнер на основе Ubuntu с идентификатором d9b100f2f636 :

  
  • докер старт d9b100f2f636

Контейнер запустится, и вы можете использовать docker ps , чтобы увидеть его статус:

  КОНТЕЙНЕР ИДЕНТИФИКАЦИЯ ИЗОБРАЖЕНИЕ КОМАНДА СОЗДАНО СОСТОЯНИЕ ИМЕНА ПОРТОВ
d9b100f2f636 ubuntu "/ bin / bash" Около часа назад Повышение на 8 секунд sharp_volhard

  

Чтобы остановить работающий контейнер, используйте docker stop , за которым следует идентификатор или имя контейнера.На этот раз мы будем использовать имя, которое Docker присвоило контейнеру, а именно: sharp_volhard :

.

  
  • docker stop sharp_volhard

Если вы решили, что контейнер вам больше не нужен, удалите его с помощью команды docker rm , снова используя либо идентификатор контейнера, либо имя. Используйте команду docker ps -a , чтобы найти идентификатор или имя контейнера, связанного с образом hello-world , и удалить его.

  
  • docker rm festive_williams

Вы можете запустить новый контейнер и дать ему имя с помощью переключателя --name . Вы также можете использовать переключатель --rm для создания контейнера, который удаляется при остановке. См. Команду docker run help для получения дополнительной информации об этих и других параметрах.

Контейнеры можно превратить в образы, которые можно использовать для создания новых контейнеров. Давайте посмотрим, как это работает.

Шаг 7. Фиксация изменений контейнера в образе Docker

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

В этом разделе показано, как сохранить состояние контейнера в виде нового образа Docker.

После установки Node.js внутри контейнера Ubuntu, теперь у вас есть контейнер, работающий с изображением, но контейнер отличается от изображения, которое вы использовали для его создания. Но вы можете захотеть повторно использовать этот контейнер Node.js в качестве основы для новых изображений позже.

Затем зафиксируйте изменения в новом экземпляре образа Docker, используя следующую команду.

  
  • docker commit -m "Что вы сделали с образом" -a "Имя автора" container_id repository / new_image_name

Переключатель -m предназначен для сообщения фиксации, которое помогает вам и другим пользователям узнать, какие изменения вы внесли, а -a используется для указания автора. container_id — это тот, который вы отметили ранее в руководстве, когда запускали интерактивный сеанс Docker. Если вы не создали дополнительные репозитории в Docker Hub, репозиторий обычно является вашим именем пользователя Docker Hub.

Например, для пользователя sammy с идентификатором контейнера d9b100f2f636 команда будет выглядеть так:

  
  • docker commit -m "добавлен Node.js" -a "sammy" d9b100f2f636 sammy / ubuntu-nodejs

Когда вы фиксируете изображения, новый образ сохраняется локально на вашем компьютере.Позже в этом руководстве вы узнаете, как отправить образ в реестр Docker, например Docker Hub, чтобы другие могли получить к нему доступ.

Повторное перечисление образов Docker покажет как новый образ, так и старый, от которого он был получен:

  

Вы увидите следующий результат:

  

Выход

РЕПОЗИТОРНЫЙ ТЕГ ИДЕНТИФИКАТОР ИЗОБРАЖЕНИЯ СОЗДАННЫЙ РАЗМЕР sammy / ubuntu-nodejs последнее 7c1f35226ca6 7 секунд назад 179 МБ ubuntu latest 113a43faa138 4 недели назад 81.2 МБ hello-world последнее e38bc07ac18e 2 месяца назад 1.85kB

В этом примере ubuntu-nodejs — это новый образ, полученный из существующего образа ubuntu из Docker Hub. Разница в размерах отражает внесенные изменения. И в этом примере изменение заключалось в том, что был установлен NodeJS. Поэтому в следующий раз, когда вам нужно будет запустить контейнер с использованием Ubuntu с предустановленным NodeJS, вы можете просто использовать новый образ.

Вы также можете создавать образы из Dockerfile , что позволяет автоматизировать установку программного обеспечения в новый образ.Однако это выходит за рамки данного руководства.

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

Шаг 8 — Отправка образов Docker в репозиторий Docker

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

В этом разделе показано, как отправить образ Docker в Docker Hub. Чтобы узнать, как создать собственный частный реестр Docker, ознакомьтесь с разделом «Как настроить частный реестр Docker в Ubuntu 14.04».

Чтобы отправить свой образ, сначала войдите в Docker Hub.

  
  • docker login -u имя-пользователя-docker-реестра

Вам будет предложено пройти аутентификацию с использованием пароля Docker Hub. Если вы указали правильный пароль, аутентификация должна пройти успешно.

Примечание: Если ваше имя пользователя в реестре Docker отличается от локального имени пользователя, которое вы использовали для создания образа, вам придется пометить свой образ своим именем пользователя в реестре. Для примера, приведенного на последнем шаге, вы должны ввести:

  
  • тег docker sammy / ubuntu-nodejs docker-registry-username / ubuntu-nodejs

Затем вы можете отправить свое собственное изображение, используя:

  
  • docker push имя-пользователя-реестра-докера / имя-образа-докера

Чтобы отправить образ ubuntu-nodejs в репозиторий sammy , введите команду:

  
  • docker push sammy / ubuntu-nodejs

Процесс может занять некоторое время, поскольку он загружает изображения, но когда он будет завершен, результат будет выглядеть следующим образом:

  

Выходные данные

Push ссылается на репозиторий [docker.io / sammy / ubuntu-nodejs] e3fbbfb44187: нажата 5f70bf18a086: Толкнул a3b5c80a4eba: нажата 7f18b442972b: нажата 3ce512daaf78: нажата 7aae4540b42d: нажата ...

После отправки образа в реестр он должен появиться на панели управления вашей учетной записи, как показано на изображении ниже.

Если попытка отправки приводит к ошибке такого рода, вероятно, вы не вошли в систему:

  

Выходные данные

Отправка относится к репозиторию [docker.io/sammy/ubuntu-nodejs] e3fbbfb44187: Подготовка 5f70bf18a086: Подготовка a3b5c80a4eba: Подготовка 7f18b442972b: Подготовка 3ce512daaf78: Подготовка 7aae4540b42d: Ожидание unauthorized: требуется аутентификация

Войдите, используя docker login и повторите попытку push.Затем убедитесь, что он существует на странице репозитория Docker Hub.

Теперь вы можете использовать docker pull sammy / ubuntu-nodejs , чтобы вытащить образ на новый компьютер и использовать его для запуска нового контейнера.

Заключение

В этом руководстве вы установили Docker, работали с образами и контейнерами и отправили измененный образ в Docker Hub. Теперь, когда вы знаете основы, изучите другие руководства по Docker в сообществе DigitalOcean.

Как установить и использовать Docker в Debian 9

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

Docker де-факто является стандартом для контейнерных технологий и является важным инструментом для инженеров DevOps и их конвейеров непрерывной интеграции и доставки.

В этом руководстве мы проведем вас через процесс установки Docker на машину Debian 9 и изучим основные концепции и команды Docker.

Предварительные требования #

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

Установка Docker в Debian #

Следующие шаги описывают, как установить последнюю стабильную версию Docker из репозиториев Docker.

  1. Обновите установленные пакеты до последней версии:

      sudo apt update   sudo apt upgrade  
  2. Установите зависимости, необходимые для добавления нового репозитория
    через HTTPS:

      sudo apt install apt-transport-https ca-сертификаты curl software-properties-common gnupg2  
  3. Импортируйте GPG-ключ репозитория с помощью следующей команды curl
    :

      curl -fsSL https: // скачать.docker.com/linux/debian/gpg | sudo apt-key add -  

    Добавить репозиторий Docker APT
    в список репозиториев программного обеспечения вашей системы, набрав:

      sudo add-apt-repository "deb [arch = amd64] https://download.docker.com/linux/debian $ (lsb_release -cs) stable"  

    $ (lsb_release -cs) вернет имя дистрибутива Debian, в этом случае будет возвращено stretch .

  4. Теперь, когда репозиторий Docker включен, обновите список пакетов apt и установите последнюю версию Docker CE (Community Edition) с помощью:

      sudo apt update   sudo apt install docker-ce  
  5. После завершения установки служба Docker запустится автоматически.Вы можете проверить это, набрав:

      sudo systemctl status docker  
      ● docker.service - Docker Application Container Engine.
    Загружено: загружено (/lib/systemd/system/docker.service; включено; предустановка поставщика: включено)
    Активен: активен (работает) с Пт 2018-07-27 17:02:07 UTC; 1мин 14с назад
        Документы: https://docs.docker.com
    Основной PID: 16929 (dockerd)
    CGroup: /system.slice/docker.service  
  6. На момент написания текущая версия Docker, доступная для Debian 9, — 18.06.0-в.э. . Проверьте версию Docker с помощью:

      docker -v  
      Docker version 18.06.0-ce, build 0ffa825  

Выполнение команды Docker без Sudo #

По умолчанию только пользователь с правами администратора может выполнять команды Docker.

Если вы хотите запускать команды Docker от имени пользователя без полномочий root без добавления sudo
вам нужно будет добавить своего пользователя в группу докеров, которая создается во время установки пакета Docker CE.Вы можете сделать это, набрав:

  sudo usermod -aG docker $ USER  

$ USER — это переменная среды.
который содержит ваше имя пользователя.

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

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

  контейнер докера run hello -world  

Результат должен выглядеть следующим образом:

Интерфейс командной строки Docker #

Теперь, когда у нас установлен Docker, давайте рассмотрим базовый синтаксис интерфейса командной строки docker:

  docker [option] [subcommand] [аргументы]  

Чтобы вывести список всех доступных команд, запустите docker без параметров:

  docker  

Если вам нужна дополнительная помощь по любой [подкоманде] , вы можете использовать переключатель --help в качестве показано ниже:

  docker [подкоманда] --help  

Образы Docker #

Образ Docker состоит из серии уровней файловой системы, представляющих инструкции в D образа. ockerfile
которые составляют исполняемое программное приложение.Изображение — это неизменяемый двоичный файл, включающий приложение и все другие зависимости, такие как библиотеки, двоичные файлы и инструкции, необходимые для запуска приложения.

Образ Docker можно рассматривать как снимок контейнера Docker.

Большинство образов Docker доступны в Docker Hub.

Docker Hub — это облачная служба реестра, которая, среди прочего, используется для хранения образов Docker в общедоступном или частном репозитории.

Search Docker Image #

Для поиска образа в реестре Docker Hub используйте подкоманду search .

Например, чтобы найти образ Debian, введите:

  docker search debian  

Результат должен выглядеть следующим образом:

Как вы можете видеть, результаты поиска выводят таблицу с пятью столбцами, NAME , ОПИСАНИЕ , ЗВЕЗД , ОФИЦИАЛЬНЫЙ и АВТОМАТИЧЕСКИЙ .

Официальный образ — это образ, который Docker разрабатывает совместно с партнерами по разработке.

Большинство образов Docker в Docker Hub помечены номерами версий.Если тег не указан, Docker извлечет последний образ.

Загрузить образ Docker #

Если мы хотим загрузить официальную сборку образа Debian, мы можем сделать это с помощью подкоманды image pull :

  docker image pull debian  

В зависимости от скорости вашего Интернета, загрузка может занять несколько секунд или несколько минут.

Поскольку мы не указали тег, docker загрузит последний образ Debian, то есть 9.5. Если вы хотите загрузить некоторые из предыдущих версий Debian
, скажем, Debian 8, тогда вам нужно использовать docker image pull debian: 8

После загрузки образа мы можем перечислить образы, набрав:

  docker image ls  

Результат будет выглядеть примерно так:

Удалить образ Docker #

Если по какой-то причине вы хотите удалить образ, вы можете сделать это с помощью подкоманды image rm [image_name] :

  docker image rm debian  

Docker Containers #

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

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

Мы можем запускать, останавливать, удалять и управлять контейнером с помощью подкоманды docker container .

Запустить контейнер Docker #

Следующая команда запустит контейнер Docker.
на основе образа Debian.Если у вас нет образа локально, сначала он будет загружен:

  docker container run debian  

На первый взгляд вам может показаться, что вообще ничего не произошло. Что ж, это неправда. Контейнер Debian останавливается сразу после загрузки, потому что у него нет длительного процесса, и мы не предоставили никакой команды, поэтому контейнер загрузился, выполнил пустую команду и затем завершил работу.

Переключатель -it позволяет нам взаимодействовать с контейнером через командную строку.Чтобы запустить интерактивный контейнер, введите:

  docker container run -it debian / bin / bash  
  root @ ee86c8c81b3b: / #
  

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

Список контейнеров Docker #

Список запущенных контейнеров
, введите:

  docker container ls  

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

Чтобы просмотреть все контейнеры, передайте переключатель -a :

  docker container ls -a  

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

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

  docker container rm c55680af670c  

Заключение #

Вы узнали, как установить Docker на свой компьютер Debian 9 и как загружать образы Docker и управлять контейнерами Docker.Этот учебник едва затрагивает экосистему Docker. В некоторых из наших следующих статей мы продолжим углубляться в другие аспекты Docker.

Вам также следует ознакомиться с официальной документацией Docker.
.

Если у вас есть вопросы, оставьте комментарий ниже.

Как установить Docker в Debian 9 (Stretch) — TecAdmin

Docker — это контейнерная платформа приложений, которая обертывает конкретное приложение со всеми его зависимостями в контейнер.Контейнеры Docker можно легко отправить в удаленное место при запуске, не выполняя полную настройку приложения. Это руководство поможет вам установить Docker на Debian 9 Stretch.

Шаг 1. Предварительные требования

Самый первый шаг — удалить все пакеты Docker по умолчанию из системы перед установкой Docker на Linux VPS. Выполняйте команды для удаления ненужных версий Docker.

 sudo apt-get purge docker lxc-docker docker-engine docker.io
 

Теперь установите некоторые пакеты, необходимые для установки Docker в системе Debian.Выполните следующие команды, чтобы сделать это:

 sudo apt-get install apt-transport-https ca-сертификаты curl gnupg2 software-properties-common
 

Шаг 2. Настройка репозитория Docker

Теперь импортируйте официальный ключ GPG докеров, чтобы проверить подпись пакетов перед их установкой с помощью apt-get. Выполните приведенную ниже команду на терминале.

 curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key добавить -
 

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

 sudo add-apt-repository "deb [arch = amd64] https://download.docker.com/linux/debian stretch stable"
 

Шаг 3. Установите Docker в Debian 9

Теперь ваша система готова к установке Docker. Выполните следующие команды, чтобы обновить индекс APT, а затем установите версию сообщества Docker в Debian.

 sudo apt-get update
sudo apt-get install docker-ce
 

После успешной установки версии сообщества Docker служба запустится автоматически. Используйте команду ниже, чтобы проверить состояние службы.Докер состояния sudo systemctl

 

Теперь ваша система готова к запуску контейнеров Docker. Используйте наше руководство по Docker для начинающих по работе с Docker.

Шаг 4. Как использовать Docker

После установки Docker в Linux. Вот некоторые основные сведения о поиске и загрузке образов Docker, запуске контейнеров и управлении ими.

Поиск образов Docker

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

 поиск докеров Debian
 

Загрузите образы Docker

Теперь загрузите контейнер Docker с именем debian в локальную систему, используя следующие команды.

 docker pull debian

Использование тега по умолчанию: последний
последнее: получение из библиотеки / debian
55cbf04beb70: Вытягивание завершено
Дайджест: sha256: f1f61086ea01a72b30c7287adee8c929e569853de03b7c462a8ac75e0d0224c4
Статус: загружен новый образ для debian: последний
 

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

 образа докеров

РЕПОЗИТОРНЫЙ ТЕГ ИДЕНТИФИКАТОР ИЗОБРАЖЕНИЯ СОЗДАННЫЙ РАЗМЕР
debian latest 3bbb526d2608 4 недели назад 101MB
 

Запустить новый контейнер с образом

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

 docker run -i -t debian / bin / bash
 

Для выхода из док-контейнера введите CTRL + P + Q .Это оставит контейнер работать в фоновом режиме и предоставит вам системную консоль хоста. Если вы использовали команду выхода, она остановит текущий контейнер.

После выхода из контейнера Docker выполните команду ниже, чтобы вывести список всех запущенных контейнеров.

 докер пс

КОНТЕЙНЕР ИДЕНТИФИКАЦИЯ ИЗОБРАЖЕНИЕ КОМАНДА СОЗДАНО СОСТОЯНИЕ НАЗВАНИЯ ПОРТОВ
f2582758af13 debian "/ bin / bash" 2 часа назад Вверх 2 часа first_debian
 

По умолчанию команда «Выше» выводит список только работающих контейнеров.Чтобы вывести список всех контейнеров (включая остановленный), используйте следующую команду.

 докер ps -a
 

Пуск / Стоп / Присоединение контейнера

Вы можете запускать, останавливать или присоединяться к любым контейнерам с помощью следующих команд. Чтобы запустить контейнер, используйте следующую команду.

 запуск докера 
 

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

 остановка докера 
 

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

 присоединение докера 
 

Установить Docker на Debian 9

Docker — это система контейнеризации, подобная LXC, для виртуализации операционных систем Linux с использованием того же ядра, что и операционная система хоста. Контейнеры быстрые и легкие. Для работы им не нужно много места на диске или оперативной памяти.

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

В этой статье я покажу вам, как установить и использовать Docker CE в Debian 9 Stretch. Давайте начнем.

Установка Docker

Docker Community Edition или Docker CE недоступен в официальном репозитории пакетов Debian 9 Stretch. Но его легко установить из официального репозитория пакетов Docker.Сначала обновите кеш репозитория пакетов apt с помощью следующей команды:

Кэш репозитория пакетов apt должен быть обновлен.

Теперь выполните следующую команду, чтобы установить пакеты, необходимые для установки Docker CE :

$ sudo apt-get install apt-transport-https ca-сертификаты curl gnupg
software-properties-common

Теперь нажмите y , а затем нажмите , чтобы продолжить.

Теперь добавьте ключ GPG официального репозитория Docker с помощью следующей команды:

$ curl -fsSL https: // скачать.docker.com/linux/debian/gpg | sudo apt-key добавить —

Должен быть добавлен ключ GPG официального репозитория Docker.

Теперь добавьте официальный репозиторий Docker CE с помощью следующей команды:

$ sudo add-apt-repository «deb [arch = amd64] https://download.docker.com/linux/debian
$ (lsb_release -cs) стабильный»

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

Кэш репозитория пакетов apt должен быть обновлен.

Теперь установите Docker CE с помощью следующей команды:

$ sudo apt-get install docker-ce

Нажмите y , а затем нажмите , чтобы продолжить.

Должен быть установлен Docker CE .

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

$ sudo systemctl статус докера

Как видно на скриншоте ниже, служба docker запущена.

Если он не запущен, вы можете запустить службу docker с помощью следующей команды:

$ sudo systemctl start docker

Также добавьте службу docker при запуске системы с помощью следующей команды, чтобы она запускалась при загрузке вашего компьютера.

$ sudo systemctl включить докер

Как видите, в автозагрузку системы добавлен сервис docker .

Теперь проверьте, работает ли Docker CE с помощью следующей команды:

Как видно из скриншота ниже, Docker CE работает правильно.

Теперь, когда Docker CE установлен и работает правильно, в следующем разделе я покажу вам, как использовать Docker CE .

Поиск образов Docker в репозитории образов Docker

Как и репозиторий пакетов Debian, Docker также имеет репозиторий образов, в котором размещаются все образы Docker. Вы можете искать изображения в репозитории образов Docker и загружать те, которые вам нужны.

Чтобы найти образ Docker, скажем, alpine Linux Docker image, выполните следующую команду:

$ sudo docker search «alpine»

Должен отобразиться результат поиска, как вы можете видеть на скриншоте ниже.Отмеченный столбец — это имя образа Docker. Это то, что вы используете для загрузки этого конкретного образа Docker. Я собираюсь установить первый образ Docker alpine .

Загрузка и вывод образов Docker

Теперь, чтобы загрузить образ Docker alpine из предыдущего раздела, выполните следующую команду:

$ sudo docker pull альпийский

Образ Docker alpine загружен.

Вы можете вывести список образов Docker, доступных на вашем компьютере, с помощью следующей команды:

Как видно из отмеченного раздела на скриншоте ниже, в списке указан только что скачанный мной образ alpine .Здесь вы также можете найти такую ​​информацию, как Image ID , SIZE .

Создание контейнера Docker

В этом разделе я покажу вам, как создать контейнер Docker.

Вы можете создать Docker-контейнер образа Docker alpine с помощью следующей команды:

Если вы хотите создать контейнер образа Docker alpine и одновременно войти в оболочку контейнера, выполните следующую команду:

$ sudo docker run -it альпийский

Как видно на скриншоте ниже, вы вошли в оболочку контейнера.

Здесь вы можете запустить любую команду.

Когда вы закончите работу с контейнером, выполните следующую команду, чтобы выйти из него.

Вы также можете запустить команду и создать контейнер, например:

$ sudo docker run alpine echo «Hello World»

Список контейнеров Docker

Вы можете получить список всех запущенных контейнеров Docker с помощью следующей команды:

Как видно на скриншоте ниже, только контейнер 6f2488135966 , который является контейнером alpine , выполняет команду sleep 1000 .

Вы можете получить список всех запущенных и не запущенных контейнеров Docker с помощью следующей команды:

Это все контейнеры, которые я создал, как вы можете видеть на скриншоте ниже.

Запуск остановленного контейнера

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

$ sudo docker start -i CONTAINER_NAME
или
$ sudo docker start -i CONTAINER_ID

ПРИМЕЧАНИЕ. CONTAINER_ID и CONTAINER_NAME можно найти с помощью команды sudo docker ps -a , как указано выше.

Например,

$ sudo docker start -i 97663a84f96c

Присоединение работающего контейнера

Вы можете войти в оболочку запущенного контейнера Docker, если вы вышли из него, следующим образом:

$ sudo docker attach CONTAINER_ID
или
$ sudo docker attach CONTAINER_NAME

Например:

$ sudo docker attach 6452e4e4890c

Вот как вы устанавливаете и используете Docker в Debian 9 Stretch.Спасибо, что прочитали эту статью.

Как установить Docker на Debian 9

В этой статье мы будем устанавливать и настраивать Docker на Debian 9 VPS.

Docker — это приложение с открытым исходным кодом, которое обеспечивает легкую виртуализацию на уровне операционной системы за счет использования контейнеров. Он специально разработан для повышения продуктивности большинства ИТ-операций за счет упрощения использования виртуализации. Контейнеры, по сути, представляют собой набор программных пакетов, которые работают как одно приложение, изолированное от других приложений.Разработчики, системные администраторы и т.п. пользуются этой функцией, создавая контейнеры, в которых они могут создавать, развертывать и запускать приложения без необходимости создавать еще одну виртуальную машину, что значительно влияет на производительность и стоимость.

Вот основные причины, по которым организации и предприятия используют Docker :

  • Повышение продуктивности разработчика
  • Повышенная скорость развертывания
  • Повышение эффективности ИТ-операций
  • Более быстрое решение проблем, которые могут возникнуть
  • Снижение стоимости ИТ-инфраструктуры

Doc ker в настоящее время разрабатывается и поддерживается Docker Inc.и написан с использованием основного языка программирования Go. Он находится под лицензией Apache License 2.0. На момент написания последней стабильной версии Docker является 18.09.5 .

В настоящее время существует две версии Docker :

  • Docker CE — Community Edition — программное обеспечение с открытым исходным кодом, поддерживаемое сообществом и Docker Inc.
  • Docker EE — Enterprise Edition — сертифицировано и поддерживается Docker Inc.

Приступим к установке Docker.

Предварительные требования

В этом руководстве мы будем использовать одну из наших управляемых служб Debian VPS. Прежде чем продолжить, убедитесь, что на вашем сервере включена учетная запись root или пользователь с привилегиями sudo.

Аппаратные ресурсы, необходимые для оптимального запуска Docker, обычно зависят от количества контейнеров и платформ внутри контейнера. Это означает, что требования к оборудованию по-прежнему зависят от приложения, в котором будут работать контейнеры, а количество активных контейнеров зависит исключительно от оборудования, на котором оно работает.

Шаг 1. Войдите в систему и обновите ее

Чтобы начать установку Docker, нам сначала нужно войти на наш сервер через SSH:

 ssh [имя пользователя] @ [server_ip_address] -p [порт SSH] 

Измените параметры [имя пользователя] , [IP-адрес_сервера] и [порт SSH] на основе сведений о вашем сервере. Для установки Docker рекомендуется использовать учетную запись «root».

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

 apt-get обновление
APT-получить обновление 

Шаг 2: Установите необходимые пакеты

Рекомендуется установить общие библиотеки Linux вместе с этими зависимостями, чтобы избежать потери каких-либо необходимых пакетов в процессе установки.

 apt-get install -y apt-transport-https ca-Certificates curl gnupg2 software-properties-common build-essential 

Шаг 3. Настройка репозитория Docker

В настоящее время есть три способа установить Docker в нашей системе: через официальный репозиторий Docker, из Debian (.deb) и из сценария, созданного разработчиками Docker. Также у Docker есть три канала обновления — стабильное, тестовое и ночное.

  • Stable — предоставляет последнюю стабильную версию Docker.
  • Test — предоставляет предварительные версии для тестирования.
  • Nightly — предоставляет самую последнюю возможную сборку. Обычно это нестабильно.

Для этого руководства мы установим Docker Community Edition (CE), используя их официальный репозиторий.Это рекомендуемый метод установки как для среды разработки, так и для производственной среды, поскольку мы можем выбрать канал обновления, по которому затем можно будет легко обновить сам пакет.

Чтобы добавить репозиторий Docker на наш сервер, нам нужно сначала добавить ключи GPG с помощью следующих команд:

 curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key добавить - 

После добавления добавьте репозиторий, указывающий на «стабильный» канал обновления.

 add-apt-repository "deb [arch = amd64] https: // download.docker.com/linux/debian $ (lsb_release -cs) стабильный "

Теперь мы можем обновить наши пакеты, которые должны включать репозиторий из Docker.

 apt-get update 

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

 Получить: 5 https://download.docker.com/linux/debian stretch InRelease [44,8 kB]
Получите: 7 https://download.docker.com/linux/debian stretch / стабильные пакеты amd64 [8 437 Б] 

Шаг 4: Установка Docker CE

После настройки репозитория теперь мы можем установить Docker CE, а также Docker CLI, выполнив следующую команду:

 apt-get install -y docker-ce docker-ce-cli 

Это может занять некоторое время, так как также будут установлены все необходимые дополнительные библиотеки.

После завершения установки убедитесь, что служба Docker запущена, набрав:

Докер состояния

 systemctl 

Вы должны увидеть аналогичный результат со словом «активен (работает)»:

Вы также можете проверить и проверить версию Docker, используя:

 докер -v 

Наконец, убедитесь, что служба докеров запускается при загрузке:

 systemctl включить докер 

Шаг 5: Настройка Docker CE

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

Сначала создайте группу докеров :

 группа добавить докер 

Затем назначьте пользователя в группу с помощью команды usermod . Измените переменную [пользователь] соответственно:

 usermod -aG docker  [пользователь]  

Наконец, чтобы протестировать эту новую конфигурацию, выйдите из системы и войдите в систему как назначенный пользователь. Теперь вы должны иметь возможность запускать команду docker без использования sudo .

Шаг 6: Тестирование Docker CE

Давайте теперь проверим, можем ли мы запускать контейнеры Docker. Мы можем попробовать запустить готовый образец контейнера, классический «Hello World».

 docker run привет-мир 

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

Вот и все! — Теперь у вас есть работающая установка Docker, работающая на Debian 9.


Конечно, вам не нужно устанавливать Docker на Ubuntu 9 , если у вас есть Debian VPS.Вы можете просто попросить нашу службу поддержки установить для вас Docker на Debian 9. Они доступны 24/7 и смогут помочь вам с установкой. Вы также можете обратиться к нашему сообщению о том, как установить Docker на Debian 10.

ПС . Если вам понравилось читать это сообщение в блоге о том, как установить Docker на Debian 9, не стесняйтесь поделиться им в социальных сетях, используя ярлыки ниже, или просто оставьте комментарий в разделе комментариев. Спасибо.

Как установить Docker Compose в Debian 9

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

Docker Engine доступен в версиях Community Edition (CE) и Enterprise Edition (EE). В этом руководстве мы выполним установку Docker Community Edition на Debian 9.

.

Требования

  • В этом руководстве мы будем использовать сервер Debian 9.
  • Также требуется полный root-доступ по SSH или пользователь с привилегиями sudo.

Шаг 1. Подключение через SSH

Подключитесь к серверу через SSH как пользователь root, используя следующую команду:

 корень ssh @ IP_АДРЕС -p PORT_NUMBER 

Не забудьте заменить «IP_ADDRESS» и «PORT_NUMBER» на ваш фактический IP-адрес сервера и номер порта SSH. Замените «root» своим именем пользователя администратора, если вы не планируете использовать учетную запись root.

Перед началом установки нам необходимо обновить пакеты ОС до последних версий.

Мы можем сделать это, выполнив следующие команды:

 $ apt-get update
$ apt-get upgrade 

После завершения обновления мы можем перейти к следующему шагу.

Шаг 2: Установите пакеты зависимостей

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

 apt-get install -y apt-transport-https ca-Certificates curl gnupg2 software-properties-common build-essential 

Шаг 3. Настройка репозитория Docker

Чтобы добавить репозиторий Docker на наш сервер, нам нужно сначала добавить ключи GPG с помощью следующих команд:

 curl -fsSL https: // скачать.docker.com/linux/debian/gpg | sudo apt-key добавить - 

После добавления добавьте репозиторий, указывающий на «стабильный» канал обновления.

 add-apt-repository "deb [arch = amd64] https://download.docker.com/linux/debian $ (lsb_release -cs) стабильный" 

Теперь мы можем обновить наши пакеты, которые должны включать репозиторий из Docker.

 apt-get update 

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

 Получить: 5 https: //download.docker.com / linux / debian stretch InRelease [44,8 КБ]
Получите: 7 https://download.docker.com/linux/debian stretch / стабильные пакеты amd64 [8 437 Б] 

Шаг 4: Установка Docker CE

После настройки репозитория теперь мы можем установить Docker CE, а также Docker CLI, выполнив следующую команду:

 apt-get install -y docker-ce docker-ce-cli 

Это может занять некоторое время, так как также будут установлены все необходимые дополнительные библиотеки.

После завершения установки убедитесь, что служба Docker запущена, набрав:

Докер состояния

 systemctl 

Выход:

 докер.сервис - Docker Application Container Engine
   Загружено: загружено (/lib/systemd/system/docker.service; включено; предустановка поставщика: включено)
   Активен: активен (работает) с Sun 2019-07-14 03:40:16 EDT; 38с назад
     Документы: https://docs.docker.com
 Основной PID: 4434 (dockerd)
   CGroup: /system.slice/docker.service
           └─4434 / usr / bin / dockerd -H fd: // --containerd = / run / containerd / containerd.sock 

Вы также можете проверить и проверить версию Docker, используя:

 докер -v 

Выход:

 Docker версии 18.09.7, сборка 2d0083d 

Наконец, убедитесь, что служба докеров запускается при загрузке:

 systemctl включить докер 

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

 sudo usermod -aG docker $ USER 

Шаг 5: Тестирование Docker CE

Давайте теперь проверим, можем ли мы запускать контейнеры Docker. Вы можете протестировать установку Docker, запустив классический «Hello World».

 $ docker run привет-мир

Привет из Докера.
Это сообщение показывает, что ваша установка работает правильно.
... 

Вы можете использовать docker images a command, чтобы увидеть список всех образов в вашей системе.

 РЕПОЗИТОРНАЯ БИРКА ИДЕНТИФИКАТОР ИЗОБРАЖЕНИЯ РАЗМЕР СОЗДАНИЯ
hello-world latest fce289e99eb9 6 месяцев назад 1.84kB 

Команда docker ps показывает все запущенные в данный момент контейнеры.

 КОНТЕЙНЕР ИДЕНТИФИКАЦИЯ ИЗОБРАЖЕНИЕ КОМАНДА СОЗДАЕТ СОСТОЯНИЕ ИМЕНА ПОРТОВ 

Поскольку ни один контейнер не запущен, мы видим пустую строку. Попробуем более полезный вариант: docker ps -a

 КОНТЕЙНЕР ИДЕНТИФИКАЦИЯ ИЗОБРАЖЕНИЕ КОМАНДА СОЗДАНО СОСТОЯНИЕ НАЗВАНИЯ ПОРТОВ
1a
35446 hello-world "/ hello" 24 минуты назад Завершился (0) 24 минуты назад amazing_bassi 

На протяжении всего этого руководства вы будете запускаться несколько раз, и оставление случайных контейнеров займет место на диске.Следовательно, как правило, я очищаю контейнеры после того, как закончу с ними. Для этого вы можете запустить команду docker rm . Просто скопируйте идентификаторы контейнеров сверху и вставьте их вместе с командой.

 докер rm 1a
35446
1a
35446 

В более поздних версиях Docker для достижения того же эффекта можно использовать команду docker container prune .

 $ чернослив в докер-контейнере
ПРЕДУПРЕЖДЕНИЕ! Это удалит все остановленные контейнеры.
Вы уверены что хотите продолжить? [г / н] г 

Если вы хотите увидеть параметры, доступные для конкретной команды, выполните следующую команду:

Докер

 - справка 

Результат должен быть примерно таким:

Вот и все! Docker CE успешно установлен на ваш сервер Debian 9.


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

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

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