#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