Переменные представляют собой пары ключа и значения. Позволяют изменять конфигурацию без изменения каких-либо файлов в контейнере.
В команде ниже приведен пример с переменной -e (env)
docker run -d --name wordpress-db --network wordpress-network -e MYSQL_ROOT_PASSWORD=password -e MYSQL_DATABASE=wordpress mysql:latest
В этой команде параметры -e MYSQL_ROOT_PASSWORD=password
-e MYSQL_DATABASE=wordpress, добавляют в контейнер информацию о создании пароля для root и название базы данных.
Проверить, что в контейнере появилась информация о переменных можно следующим образом:
ivan@ivan-XPS-9320:~$ docker inspect wordpress-db | grep MYSQL_ROOT_PASSWORD
"MYSQL_ROOT_PASSWORD=password",
Таких переменных может быть несколько.
Переменные можно добавлять через внешний *.env файл. В файле последовательно записываются строки содержащие ключ=значение.
Например, файл dev.env
#Environment for MySQL
MYSQL_ROOT_PASSWORD='MyRootPass'
MYSQL_DATABASE='wp_db'
Команда в это случае будет выглядеть так:
docker run -d --name wp-db2 --env-file dev.env mysql:latest