Иногда лучший способ практиковать — это практиковать. Для учебного снимка на этой неделе я поделюсь, каково это использовать несколько основных команд в 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»