Docker совет №10: Алиасы для часто используемых команд
Dec 28, 2017 11:41 · 209 words · 1 minute read
Алиасы и функции, связанные с 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-контейнерами как описано в этой статье.