Команды в Dockerfile и команды, выполнены в контейнере через 'docker exec [container_name] bash' выполняются в одинаковом окружении?
Есть образ весты niiknow/vestacp и я хочу к нему установить несколько пакетов через apt-get. Если пакеты устанавливать через Dockerfile, то возникают некоторые ошибки в процессе, если те же самые пакеты устанавливать в контейнере этого образа, то все без проблем устанавливается. Почему так происходит? Знаю, что команды в Dockerfile выполняются в образе, а команды через docker exec уже в запущеном контейнере, но разве суть не должна оставляться та самая? Т.е. если в основе образа niiknow/vestacp стоит убунту 16.04, то команды запущены этими двумя способами, должны запускаться в убунту 16.04 и возвращать те же результаты? Помогите разобраться
я сам себя прокомментирую, можете не показывать этот ужас - я нашел Dockerfile niiknow/vestacp
Попытка запихнуть слишком много всего в контейнер это ужасно , и противоречит основным принципам Докера.
Да, он в оригинале действительно основан на минималистичном Ubuntu , в котором нет графики и даже основных библиотек не стоит для работы графики.
Зачем туда пытаться запихивать firefox (судя по кускам ваших логов) я понять честно слово не могу.
Kolya Vantukh, найдите обычный образ с тем языком/платформой на убунте, что Вам нужны, и в докерфайле допишите установку нужных либ. Драйверы браузеров можно ставить как standalone бинарники, возможно там нужно гораздо меньше зависимостей)
Daria Motorina, учтите образ будет весьма тяжелый по стандартам докер images - полтора гига
кстати если основная ось у вас не линукс то помоему имеет смысл селениум ноду с графикой дежать в вагрант боксе а не в докер имадже
напишите если все еще нужна помощь в создании докер или вагрант окружения
Daria Motorina без икса нормально работает только хром / хромиум помоему