Рубрики
Uncategorized

Docker Learn #04: тусоваться с Ubuntu

Серия постов Алекса Ортиса из «Образования», когда он изучает Docker. Tagged с Docker, контейнерами, DevOps.

Иногда лучший способ практиковать — это практиковать. Для учебного снимка на этой неделе я поделюсь, каково это использовать несколько основных команд в Docker. Давайте использовать Ubuntu, одно из самых популярных дистрибутива Linux, чтобы очень временно запустить контейнер. И давайте посмотрим, как проверить, что мы это сделали.

Ubuntu является операционной системой в семье Debian, в отличие от, например, Fedora. Для практики давайте использовать Docker для запуска контейнера Linux в операционной системе Ubuntu.

Скажите, что вы запускаете эту команду в Docker в первый раз от вашего Docker Client:

docker run ubuntu

Ваш клиент пройдет запустить Инструкция в Docker Daemon (сервер, который размещает двигатель Docker, который представляет собой время выполнения, на котором работают контейнеры).

Во -первых, демон попытается найти изображение Ubuntu локально: он проверит, есть ли изображение уже на самом сервере. Если демон не найдет изображение — и в этом случае не будет, потому что это первый раз, когда вы пытались запустить контейнер Ubunt CLI) Как это происходит каждое из следующих:

  • отобразить сообщение, подтверждающее, что оно не нашел изображение локально
  • Вытащите изображение из реестра Docker, где хранится изображение, не выполняя изображение с помощью Последний ярлык
  • Показать статусы, по одному на строку, поскольку он загружает каждый из слоев изображения, связанных с изображением Ubuntu — в данном случае Ubuntu: последний Изображение имело четыре слоя. По мере того, как каждый слой преуспел, CLI отображала сообщение, которое содержало короткую версию хэша SHA256 для этого слоя, а также слова » Потянуть комплекс «
  • Отобразить полное дадест SHA256 для рассматриваемого изображения Ubuntu
  • Показать подтверждающее сообщение, Статус: загружено более новое изображение для Ubuntu: последний

Так, например:

Из Docker Playground

Большой! Итак, теперь у нас есть наше изображение Ubuntu на нашем хосте Docker, и мы на самом деле запускаем контейнер Linux на основе Ubuntu. Вы можете проверить это, набрав Docker PS Анкет

Э-э-о: где этот контейнер?

Но ждать! Вы не увидите ничего в списке. Как я упоминал в моем последнем посте, некоторые контейнеры, такие как контейнеры на основе изображений базовой операционной системы, выходят почти сразу после запуска. Это связано с тем, что если у контейнера нет процесса работы (весь смысл контейнера), он будет выведен. И в случае контейнера Ubuntu, который не делает ничего особенного, его оболочка Bash будет работать на долю секунды, а затем не видит какого -либо скрипта для запуска в этой оболочке и, следовательно, выхода. Тогда контейнеру не будет ничего делать, поэтому демон остановит контейнер.

( боковая панель : Если вам интересно, о чем я, помните, что каждое изображение Docker создано из Dockerfile , который имеет одну или несколько строк инструкций в нем. Каждая линия в DockerFile используется для создания одного слоя, и все эти слои в совокупности составляют фактическое изображение Docker. Из этих четырех статусных сообщений, которые я упоминал выше, мы можем сделать вывод, что DockerFile, используемый для создания конкретного изображения Ubuntu, которое мы сейчас используем, имели четыре строки, и, следовательно, четыре слоя, в общей сложности — один из которых для команды /bin/bash . Смотри ниже.)

Ах, там это

Вы можете подтвердить, что все это произошло, запустив команду Docker ps -a , после чего ваш CLI покажет вам следующую информацию:

  • идентификатор контейнера
  • изображение Docker. Контейнер был основан на
  • Команда, если кто -то был выполнен в контейнере («/bin/bash», в данном случае)
  • Когда был создан указанный контейнер
  • Статус контейнера вместе с кодом выхода (например, «0», что означает «нет ошибок»
  • Случайно сгенерированное, но обычно причудливое название для контейнера (например, «Youthful_galileo»)
  • Некоторые другие иверы

Так, например:

CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                      PORTS               NAMES
blahblahblah        ubuntu              "/bin/bash"         21 minutes ago      Exited (0) 21 minutes ago                       youthful_galileo

И там у тебя это есть. Мы достигли наших целей по управлению контейнером Ubuntu Linux, используя Docker и проверили, что мы действительно запустили его.

Отсюда есть тонны, что мы могли бы сделать:

  • Используйте Docker start Чтобы перезапустить выходящий контейнер
  • Используйте Docker Incest <Имя контейнера> Чтобы получить много подробной информации о контейнере
  • Используйте Docker rm Чтобы удалить контейнер с хоста
  • Используйте Docker Rmi Ubuntu Чтобы удалить само изображение Ubuntu с хоста, в подготовке к другим крутым командам

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

Но, увы, у нас нет времени на этой неделе. До следующего раза!

Есть радость в изучении новых вещей, и я надеюсь, что вы наслаждаетесь этими произведениями. Так что, если вам нравится моя серия, нажмите кнопку «Следующие» и поделитесь ссылкой с еще одним человеком. Покажите немного <3 или 🦄. И следуйте за моей образовательной командой здесь, на Dev.To. Говоря об этом, я хотел бы подключить особое объявление:

💪🏾🎓

Увидимся на следующей неделе! Счастливого обучения.

Оригинал: «https://dev.to/alexoeducative/docker-learn-my-learning-journey-with-docker-04-383e»