Установка Google Chrome на Ubuntu через файл Dockerfile, попадающий в географическую область

#docker #google-chrome #ubuntu #dockerfile

Вопрос:

Я пытаюсь создать образ докера с базовым изображением, таким как Ubuntu, NodeJS, Git и Google chrome.

Это мой док-файл.

 FROM ubuntu:20.04

USER root

WORKDIR /home/app

COPY ./package.json /home/app/package.json

RUN apt-get update

RUN apt-get -y install curl gnupg

RUN apt-get install g   build-essential --yes

RUN curl -sL https://deb.nodesource.com/setup_15.x  | bash -

RUN apt-get -y install nodejs

RUN apt-get install git --yes

# Install Google Chrome
RUN apt-get install wget
RUN wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
RUN apt-get install ./google-chrome*.deb --yes
 

Когда я создаю образ, я все время застреваю на этом шаге.

  => [12/13] RUN apt-get install ./google-chrome*.deb --yes                                                                                                                                409.6s
 => => #   1. Africa        6. Asia            11. System V timezones                                                                                                                           
 => => #   2. America       7. Atlantic Ocean  12. US                                                                                                                                           
 => => #   3. Antarctica    8. Europe          13. None of the above                                                                                                                            
 => => #   4. Australia     9. Indian Ocean                                                                                                                                                     
 => => #   5. Arctic Ocean  10. Pacific Ocean                                                                                                                                                   
 => => # Geographic area:
 

Был ли у кого-нибудь подобный опыт и смог ли он решить эту проблему.

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

1. У меня та же проблема. Вы уже нашли решение?

Ответ №1:

Я, наконец, получил некоторую ясность по этому вопросу и могу предоставить обходной путь для всех, кто столкнется с этой проблемой в будущем.

Проблема: Географическая область будет запрошена в стандартном образе ubuntu 20.04 из Docker, поскольку этот образ был удален из настроек локали. Эти настройки обычно можно найти с помощью locale терминала или localectl status в терминале; однако обе эти команды требуют наличия службы systemd (которая не входит в стандартный образ ubuntu 20.04, который вы используете в своем FROM заявлении). В дополнение к этому, вы не сможете легко добавить systemd это изображение, так как вы столкнетесь с проблемой, если оно не будет PID1 во время запуска вашего контейнера docker.

Решение: Самое простое решение, которое я нашел, — это просто перейти на использование образа Ubuntu, который уже содержит systemd . Один из таких образов, который я сейчас использую,-это jrei/systemd-ubuntu. Итак, что вы могли бы сделать, чтобы предотвратить этот вопрос при выборе региона в Chrome или любом другом приложении, которое может запросить его, — это заменить ваше текущее FROM утверждение следующим: FROM jrei/systemd-ubuntu:20.04 .

Ответ №2:

Я решил эту проблему, настроив часовой пояс перед установкой Chrome

 ENV TZ=Europe/Madrid RUN echo "Preparing geographic area ..."
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime amp;amp; echo $TZ > /etc/timezone