Docker — широко используемая система контейнеризации. Более того, Docker можно смело назвать необходимым инструментом в разработке программного обеспечения. В этом посте показаны некоторые из наиболее полезных команд Docker в вашем повседневном рабочем процессе.

1. Выполнить команду внутри контейнера

При работе с контейнерами вам может понадобиться запустить какую-то команду внутри него, настроить какую-то конфигурацию, а что нет. Для этого используйте следующую команду:

docker exec -it $container_id $command

Допустим, я хочу выполнить команду sh внутри своего контейнера. Я делаю это с помощью:

docker exec -it 9e5017aef3f9 sh

Подробнее здесь.

2. Публикация портов контейнера

Простая и понятная команда, которая может быть полезна при работе с множеством разных контейнеров.

docker build -p $local_port:$container_port $container_id

Если вы создаете контейнер, скажем, с веб-приложением, которое обслуживается через порт 80, по умолчанию этот порт доступен только изнутри контейнера. Если вы хотите раскрыть это и открыть веб-приложение в локальном браузере, вы можете сделать это:

docker build -p 80:80 9e5017aef3f9

Подробнее здесь.

3. Остановите все запущенные контейнеры

Это необходимо, если вы хотите получить доступ к внутренней службе контейнера из вашей сети — локальной или общедоступной.

docker stop $(docker ps -a -q)

Подробнее здесь.

4. Прикрепите объем к контейнеру

Тома в среде Docker — это механизм сохранения данных, сгенерированных контейнерами. Если есть данные, используемые контейнером, которые вы хотите сохранить даже после перезапуска контейнера, вы должны использовать это. Команда выглядит так:

docker run -d -v $local_path:$container_path $container_id

Итак, если вы хотите прикрепить локальную папку к контейнеру, вы делаете это с помощью следующей команды:

docker run -d -v /db_dump:/app/data 9e5017aef3f9

Подробнее здесь.

5. Отображение логов контейнера

Очень полезно при отладке или если вы просто хотите знать, что происходит внутри контейнера. Чтобы увидеть их, используйте следующую команду:

docker logs -f $container_id

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

docker logs -f 9e5017aef3f9

Подробнее здесь.

Резюме

Я надеюсь, что вы нашли этот пост полезным. Если это так, не стесняйтесь ставить лайк или делиться этим постом. Кроме того, вы можете следить за мной в моих социальных сетях, если хотите 🙂