Прежде чем сразу перейти к командам, если вы не знакомы с докером, приведенный ниже фрагмент кода для вас.
Что такое Докер?
Docker — это открытая платформа для разработки, доставки и запуска приложений. Docker позволяет вам отделить ваши приложения от вашей инфраструктуры, чтобы вы могли быстро доставлять программное обеспечение. С помощью Docker вы можете управлять своей инфраструктурой так же, как вы управляете своими приложениями. Воспользовавшись методологиями Docker для быстрой доставки, тестирования и развертывания кода, вы можете значительно сократить задержку между написанием кода и его запуском в производственной среде.
Если вы все еще сомневаетесь, то можете посетить их официальную документацию. Теперь давайте углубимся в команды.
Я попытался перечислить большинство команд, которые вы много раз найдете полезными при использовании docker. Команды следуют логическому порядку извлечения образа, запуска контейнера, удаления. Любые основные команды, которые могут быть пропущены, более чем приветствуются в комментариях!
1. версия докера:
Первая и самая основная команда: как только вы загрузите и установите докер, вы можете проверить, правильно ли он установлен, с помощью этой команды.
docker --version
2. вытащить докер:
Теперь, после установки Docker, вы начнете использовать различные образы, представленные в Docker Hub или в частном репозитории. Команда для извлечения изображений:
docker pull <image_name>
Загрузка определенной версии образов Docker:
Если вы хотите получить какую-либо конкретную версию образа, вы можете легко сделать это, указав ее версию следующим образом:
docker pull <image_name>:<version>
например: получение определенной версии изображения python
docker pull python:3.10-buster
3. Докер PS:
Чтобы увидеть запущенные контейнеры на вашем компьютере, выполните команду
docker ps
В выходных данных container_id и имя всегда уникальны. Вы можете использовать этот идентификатор/имя для запуска, остановки и выполнения различных других действий в контейнере.
В разделе ports «0.0.0.0:6001» — это номер порта вашего локального компьютера, а «6379/tcp» — номер порта контейнера. порт.
Просмотр ранее остановленных контейнеров Docker:
Чтобы просмотреть ранее остановленные контейнеры, используйте параметр “-a”.
docker ps -a
4. запуск докера:
После извлечения образа следующим постепенным шагом будет создание контейнера (экземпляра) из образа.
docker run <image_name>
Для этой команды она сначала проверяет, присутствует ли данный образ локально, если нет, то сначала загружает образ, т. е. выполняет «docker pull», а затем запускает свой контейнер.
Полезные параметры, которые можно использовать вместе с docker run:
а. Отсоединенный терминал:
docker run -d <image_name>
Чтобы запустить контейнер в отдельном терминале и вернуть нам управление в текущем терминале, используйте параметр -d вместе с командой запуска.
б. Указание конкретных портов для контейнеров:
Предположим, вы загрузили разные версии Redis, скажем, «последняя» и «7». Когда вы выполняете «docker run redis» и «docker run redis:4». Затем оба контейнера будут запущены на одном и том же порту каждого контейнера, в основном на 6379. Теперь ваша задача — привязать их к другому порту хоста (ваши порты локального хоста).
docker run -p<host_port_number>:<container_port> <image_name>
например: привязка порта redis 6379 к разным портам на локальном хосте
docker run -p6000:6379 redis #This will bind your host’s 6000 port to container's 6379 port.
Привязка redis:7 к другому порту
docker run -p6001:1463 redis:7 #This will bind your host’s 6001 port to container's 6379 port.
в. Присвоение имен контейнерам:
Для того, чтобы дать имя вашему контейнеру, используйте опцию “ — имя”.
Например: присвоить имя redis_new последнему образу redis и redis_old старому образу.
docker run -d --name redis_new redis && docker run -d --name redis_old redis:7
д. Предоставление томов в команде запуска docker:
Чтобы сохранить данные и использовать хранилище вашего компьютера, вам необходимо связать тома вместе с контейнером. Ниже показан пример, в котором мы использовали именованный том и привязали его к «/usr/lib/data» в контейнере.
docker run -v my_personal_volume:/usr/lib/data mongo
e. Подключение контейнера к определенной сети:
Чтобы заставить контейнер использовать любую конкретную сеть, используйте эту команду следующим образом:
docker run -p27017:27017 -d --net mongo-network mongo
Здесь мы подключили контейнер к «mongo-network».
5. образы докеров:
Чтобы увидеть все образы докеров, присутствующие на вашем компьютере, используйте команду:
docker images
6. остановка докера:
После запуска контейнеров докеров вы хотите когда-нибудь остановиться и снять контейнер. Чтобы остановить контейнер, выполните приведенную ниже команду:
docker stop <container_id/name>
Вы можете получить идентификатор контейнера с помощью команды «docker ps», а затем остановить нужный контейнер.
Примечание. Кроме того, вы также можете использовать имя контейнера, чтобы остановить контейнер.
7. запуск докера:
Если вы хотите снова запустить любой из остановленных контейнеров, получите идентификатор или имя контейнера, используя «docker ps -a». И выполните приведенную ниже команду:
docker start <container_id/name>
8. логи докера:
Чтобы увидеть журналы контейнера, вам нужно использовать эту команду:
docker logs <container_id/name>
Полезные параметры для журналов Docker:
а. — хвост
docker logs <container_id/name> --tail <n/all>
Чтобы получить только конечную часть логов, используйте опцию — tail, за которой следует количество строк, которые вы хотите видеть. например, 10 и т. д., или даже вы можете ввести «все», чтобы увидеть все журналы.
b. -f:
Для потоковой передачи журналов используйте команду -f.
docker logs <container_id/name> -f
9. исполняемый файл докера:
Если вы хотите запустить какую-либо команду внутри терминала контейнера, вам нужно использовать команду «docker exec», как показано ниже:
docker exec -d ubuntu_bash touch /tmp/execWorks
Это создаст новый файл /tmp/execWorks
внутри работающего контейнера ubuntu_bash
в фоновом режиме.
Получение интерактивного терминала контейнера:
Затем выполните интерактивную оболочку bash
в контейнере.
docker exec -it <container_id/name> /bin/bash
Это создаст новый сеанс Bash в контейнере ubuntu_bash
.
Примечание. Иногда вы можете получить сообщение об ошибке, указывающее, что команда /bin/bash не найдена, в этом случае вам нужна оболочка с помощью команды:
docker exec -it <container_id/name> /bin/sh
10. сеть докеров:
Чтобы увидеть сети, которые в данный момент используются докером. используйте команду:
docker network ls
Создание сети докеров:
docker network create mongo-network
Это создаст новую «монго-сеть», которую затем можно будет использовать с контейнерами.
11. докер рм:
После использования контейнера вы хотите удалить его, тогда используйте команду «docker rm»:
docker rm <container_id/name>
Примечание. Перед удалением контейнера его следует сначала остановить, иначе вы получите сообщение об ошибке
12. докер рми:
Если вы хотите удалить какое-либо изображение, используйте эту команду:
docker rmi <image_name>
Примечание. Чтобы образ можно было удалить, в нем не должно быть запущенных контейнеров, основанных на этом образе.
И это обертка! Я попытался охватить большинство полезных команд в этом посте. Вы всегда можете добавить любые пропущенные команды в комментариях. Это я подписываюсь :)