Docker совет №10: Алиасы для часто используемых команд

Dec 28, 2017 11:41 · 209 words · 1 minute read docker

Алиасы и функции, связанные с docker, позволяют сэкономить довольно много времени на вводе команд. Давайте разберемся на нескольких практических примерах!

Я знаю людей, которые любят создавать алиасы даже для таких команд, как git clone (например, gc). Спустя несколько месяцев можно напрочь забыть, как работать с полной версией команды, поэтому с алиасами лучше не перегибать и использовать их только для реально длинных команд.

Мне довольно часто приходится запускать docker-compose exec --user www-data workspace за которой следует команда, которая выполняется внутри контейнера.

Например:

docker-compose exec --user www-data workspace sh -c "composer install -vv"

или

docker-compose exec --user www-data workspace ./zf cache clean-modified-content

Частое использование столь длинных команд не может не раздражать, поэтому самое время написать bash-функцию, которая будет работать как алиас. Открываем на редактирование файл ~/.bashrc (или отдельный файл .bash_aliases, если он у вас есть), а затем добавляем в него следующую функцию:

dcw() {
  docker-compose exec --user www-data workspace $@
}

Параметр $@ принимает все аргументы, переданные функции. Теперь я могу делать так:

dcw sh -c "composer install -vv"

Вышеизложенное будет также работать, если вместо bash-функции использовать алиас, но для алиасов мы рассмотрим другой пример. В файле ~/.bashrc можно добавить строку:

alias up='docker-compose up'

Думаю, объяснения излишни.

Кроме того, можно использовать утилиту make для управления docker-контейнерами как описано в этой статье.

tweet Share