среда, 30 октября 2019 г.

Настройка параметров Даты/времени в Docker контейнере

В одном из постов я описал способ настройки даты времени в контейнере. Этот способ работает, но не является правильным, так как настройки производятся внутри контейнера и в случае пересоздания контейнера (например при обновлении) их придется проделывать снова.
Более правильным является проброс конфигурационных файлов при запуске контейнера используя конструкцию:
-v path_to_host:path_to_container
В случае, если в контейнере необходимо получить настройки даты/времени как на хосте конструкция должна выглядеть следующим образом:
 -v /etc/timezone:/etc/timezone -v /etc/localtime:/etc/localtime
если же мы хотим получить индивидуальные настройки, необходимо создать каталог для их хранения и поместить в него нужные варианты файлов localtime и timezone.
Например:

mkdir /var/lib/zabbix
cp /usr/share/zoneinfo/Europe/Kiev /var/lib/zabbix/localtime
echo "Europe/Kiev" >  /var/lib/zabbix/timezone
Ключи монтирования будут выглядеть так:
-v /var/lib/zabbix/timezone:/etc/timezone -v /var/lib/zabbix/localtime:/etc/localtime
Пример комманды запуска контейнера (Postgresql):
docker run -d --name my-postgres -v /var/lib/zabbix/timezone:/etc/timezone -v /var/lib/zabbix/localtime:/etc/localtime -e POSTGRES_PASSWORD=<pass> -e POSTGRES_USER=<user> postgres:alpine
Проверить результат можно подключившись к консоли контейнера:
docker exec -i -t my-postgres sh
date
Отключаемся от консоли <Ctrl> <D>
На этом все!

Комментариев нет:

Отправить комментарий