В предыдущем руководстве мы показали вам , как установить Docker. В этом руководстве мы рассмотрим наиболее часто используемые команды Docker.
Как узнать больше о командах Docker
Откройте эмулятор терминала и введите:
докер
Это дает вам краткий обзор того, какие аргументы принимаются командой docker
и что они делают. Прокрутите вверх, чтобы увидеть их все. Вы можете заметить, что docker cp
будет "копировать файлы / папки между контейнером и локальной файловой системой". Но этой информации недостаточно. Если вы хотите узнать больше о конкретной подкоманде, просто добавьте в конце --help
. Пример:
docker cp - справка
Как найти и получить образ Docker
Сначала изображения могут быть перепутаны с самими контейнерами. Изображения - это база, с которой начинается контейнер. Затем его (контейнер) можно изменить любым необходимым способом. Таким образом, у вас может быть изображение, такое как "httpd", и развернутые контейнеры "website1" и "website2".
Для поиска изображения вы можете использовать такую команду, как:
docker search apache
Вы также можете выполнить поиск в Docker Hub, если предпочитаете использовать свой веб-браузер.
Чтобы скопировать нужное изображение:
docker pull httpd
Очевидно, вы должны заменить "httpd" на имя нужного изображения.
Как запустить и остановить контейнер Docker
Чтобы создать контейнер из этого образа и запустить его, введите:
docker run -d--name=http-server --publish80:80 httpd
-d
запускает контейнер в фоновом режиме, отсоединяя его от вывода.--name
указывает, как вы хотите назвать свой контейнер.--publish hostPort: containerPort
публикует порт в контейнере для вашей хост-системы. Apache обслуживает запросы через порт 80, но только внутри контейнера (изолированно). С указанным выше параметром команды запросы к порту 80 в вашей хост-системе будут направлены на порт 80 в контейнере, что по существу дает вам путь для доступа внутрь контейнера. Это означает, что если вы теперь откроете браузер в хост-системе и наберете "localhost" в адресной строке, вы подключитесь к веб-серверу, который работает в вашем контейнере.
Чтобы просмотреть, какие контейнеры в настоящее время работают:
docker ps
Чтобы просмотреть отключенные в данный момент контейнеры:
docker ps - a
Чтобы закрыть контейнер, введите docker stop name-of-container
. Например:
docker stop http-server
Если вы хотите снова запустить контейнер:
docker start http-server
И если вы хотите создать еще один контейнер из образа Apache:
docker run -d--name=http-server2 --publish8080:80 httpd
Обратите внимание, что на этот раз порт 8080 был использован вместо 80. Это значит, что он не конфликтует с другим контейнером. Чтобы получить к нему доступ, вы должны ввести localhost: 8080
в своем веб-браузере.
Как настроить контейнер Docker
Часто вам нужно копировать файлы в свой контейнер. Для копирования из хост-системы в контейнер синтаксис команды следующий: docker cp / path / to / local / file / или / directory name-of-container: / path / to / container / directory / or / file .
Например:
docker cp/bin/ls http-server:/tmp
Для копирования из контейнера на хост используйте docker cp имя-контейнера: / путь / к / контейнеру / файлу / или / каталог / путь / к / локальному / файлу / или / каталогу
.
docker cp http-server:/etc /tmp
Иногда вам также потребуется "войти" в контейнеры, открыв внутри них оболочку. Таким образом, вы можете редактировать файлы, устанавливать дополнительные двоичные файлы и настраивать их в соответствии с вашими потребностями.
docker exec-it http-server /bin/bash
Теперь вы можете, например, отредактировать "index.html" и создать домашнюю страницу для веб-сайта внутри.
Чтобы выйти из оболочки в контейнере:
выход
Как удалить контейнеры и образы Docker
Перед тем, как удалить контейнер, необходимо сначала его остановить:
docker stop http-server2
Теперь вы можете удалить контейнер с помощью:
docker rm http-server2
Но на самом деле изображения обычно занимают больше места на диске, чем контейнеры. Вы можете удалить их с помощью:
docker rmi httpd
Это не сработает, пока вы не остановите и не удалите все контейнеры, зависящие от этого изображения.
Заключение
Docker превратился в довольно сложный проект. Но вы можете медленно вникать в каждую команду, просматривая справочные страницы. Например: man docker run
покажет вам все о параметрах команды docker run
, например, как установить предпочтительный IP-адрес для каждого контейнера или как ограничить использование памяти. Медленно, но верно вы можете освоить каждую команду Docker, прочитав страницы руководства.