English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Docker Hello World

Docker позволяет вам запускать приложения в контейнере, используя docker run Команда для запуска приложения в контейнере.

Вывод Hello world

w3codebox@w3codebox:~$ docker run ubuntu:15.10 /bin/echo "Hello world"
Hello world

Интерпретация параметров:

  • docker: Бинарный файл выполнения Docker.

  • run: В сочетании с docker для запуска контейнера.

  • ubuntu:15.10 Указать образ, который нужно запустить, Docker сначала проверяет, существует ли образ на локальном хосте, если образ не существует, Docker скачивает общедоступный образ из хранилища образов Docker Hub.

  • /bin/echo "Hello world": Команда, выполняемая в запущенном контейнере

Полный смысл команды: Docker создает новый контейнер с образом ubuntu15.10, затем выполняет в контейнере bin/echo "Hello world" и выводит результат.

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

Мы используем два параметра docker -i -t, чтобы контейнер, запущенный docker, мог реализовать"Диалог"Свойства:

w3codebox@w3codebox:~$ docker run -i -t ubuntu:15.10 /bin/bash
root@0123ce188bd8:/#

Интерпретация параметров:

  • -t: В новом контейнере определить виртуальный терминал или терминал.

  • -i: Разрешает вам взаимодействовать с стандартным вводом (STDIN) контейнера.

Внимание, вторая строка root@0123ce188bd8:/#, в этот момент мы уже вошли в контейнер системы ubuntu15.10

Мы пытаемся запустить команду в контейнере cat /proc/versionиlsПросмотр информации о версии текущей системы и списка файлов в текущей директории

root@0123ce188bd8:/# cat /proc/version
Linux версия 4.4.0-151-generic (собран buildd@lgw01-amd64-043) (gcc версия 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.10)) #178-Ubuntu SMP Вт Jun 11 08:30:22 UTC 2019
root@0123ce188bd8:/# ls
bin  boot  dev  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var
root@0123ce188bd8:/#

Мы можем выйти из контейнера, запустив команду exit или используя CTRL+D.

root@0123ce188bd8:/#  exit
exit
root@w3codebox:~#

Обратите внимание, что строка root@w3codebox:~# на третьем ряду означает, что мы вышли из текущего контейнера и вернулись к текущему хосту.

Запуск контейнера (в фоновом режиме)

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

w3codebox@w3codebox:~$ docker run -d ubuntu:15.10 /bin/sh -c "while true; do echo hello world; sleep 1; done"
2b1b7a428627c51ab8810d541d759f072b4fc75487eed05812646b8534a2fe63

В выводе мы не видим ожидаемый "hello world", а длинную строку символов

2b1b7a428627c51ab8810d541d759f072b4fc75487eed05812646b8534a2fe63

Эта длинная строка叫做 ID контейнера, для каждого контейнера уникальна, и мы можем проверить, что с контейнером происходит, используя ID контейнера.

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

w3codebox@w3codebox:~$ docker ps
CONTAINER ID        IMAGE                  COMMAND              ...  
5917eac21c36        ubuntu:15.10           "/bin/sh -c 'while t…"    ...

подробное описание вывода:

CONTAINER ID: ID контейнера.

IMAGE: используемое изображение.

COMMAND: команда, запущенная контейнером при запуске.

CREATED: время создания контейнера.

STATUS: состояние контейнера.

состояний 7 видов:

  • создан

  • restarting (перезапускается)

  • running или Up (работает)

  • removing (переносится)

  • paused (приостановлен)

  • exited (остановлен)

  • dead (мёртв)

PORTS: Информация о портах контейнера и используемых типах соединений (tcp\udp).

NAMES: Имя контейнера, автоматически назначенное.

Использование команды docker logs на хосте для просмотра стандартного вывода контейнера:

w3codebox@w3codebox:~$ docker logs 2b1b7a428627

w3codebox@w3codebox:~$ docker logs amazing_cori

Остановить контейнер

Мы используем docker stop Команда для остановки контейнера:

docker stop 2b1b7a428627

Просмотр с помощью docker ps показывает, что контейнер уже остановлен:

w3codebox@w3codebox:~$ docker ps

Теперь контейнер больше не существует.

También puedes usar la siguiente orden para detener:

w3codebox@w3codebox:~$ docker stop amazing_cori