При сборке образа – билд останавливается с запросом на настройку tzdata
.
Dockerfile
выглядит сейчас так:
FROM ubuntu:18.04 RUN apt update && apt install -y python-pip python-dev ssh python-boto3 RUN pip install ansible==2.4.3.0
Запускаем сборку:
[simterm]
admin@jenkins-production:~$ docker build -t proj/proj-ansible:1.1 . Sending build context to Docker daemon 29.62MB Step 1/3 : FROM ubuntu:18.04 ---> 113a43faa138 Step 2/3 : RUN apt update && apt install -y python-pip python-dev ssh python-boto3 ... Setting up tzdata (2018d-1) ... ... Configuring tzdata ------------------ Please select the geographic area in which you live. Subsequent configuration questions will narrow this down by presenting a list of cities, representing the time zones in which they are located. 1. Africa 4. Australia 7. Atlantic 10. Pacific 13. Etc 2. America 5. Arctic 8. Europe 11. SystemV 3. Antarctica 6. Asia 9. Indian 12. US Geographic area:
[/simterm]
И тут сборка зависает в ожидании ввода данных, при чём даже после указание региона – процесс не продолжается.
Что бы избежать этого запроса, особенно если сборка выполняется автоматически – добавляем настройку tzdata
прямо в Dockerfile
.
Создадим переменную с именем TZ, в которой укажем timezone, а затем создадим файл /etc/timezone
:
FROM ubuntu:18.04 ENV TZ=Europe/Kiev RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone RUN apt update && apt install -y python-pip python-dev ssh python-boto3 RUN pip install ansible==2.4.3.0
Собираем ещё раз:
[simterm]
admin@jenkins-production:~$ docker build -t proj/proj-ansible:1.1 . Sending build context to Docker daemon 29.62MB Step 1/5 : FROM ubuntu:18.04 ---> 113a43faa138 Step 2/5 : ENV TZ=Europe/Kiev ---> d2debbbd9f86 Step 3/5 : RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone ... ---> 0d2422a01f56 Successfully built 0d2422a01f56 Successfully tagged proj/proj-ansible:1.1
[/simterm]
Готово.