thesNu
Добрый день подскажите, пожалуйста, где ошибка Не могу понять как правильно написать FROM alpine:latest RUN apk update && apk upgrade --no-cache && apk add bind-tools && apk add dnsmasq RUN cat > /etc/resolv.conf << EOF 127.0.0.1 EOF && \ cat >> /etc/dnsmasq.conf << EOF port=53 listen-address=127.0.0.1 strict-order no-resolv no-poll server=172.20.0.10 server=10.54.0.2 EOF && \ rc-update add dnsmasq default && rc-service dnsmasq start CMD ["/bin/sh»] Error response from daemon: dockerfile parse error line 6: unknown instruction: 127.0.0.1
Добрый, Вы можете проверять Dockerfile на корректность прямо из докера docker run --rm -i hadolint/hadolint < Dockerfile в Вашем примере он выдаст как раз что Евгений написал выше /dev/stdin:6:1 unexpected '1' expecting '#', '\', ADD, ARG, CMD, COPY, ENTRYPOINT, ENV, EXPOSE, FROM, HEALTHCHECK, LABEL, MAINTAINER, ONBUILD, RUN, SHELL, STOPSIGNAL, USER, VOLUME, WORKDIR, a pragma, at least one space, or end of input
максвел
максвел
Всем привет подскажите пожалуйста: есть программа на питоне которая парсит данные с сайта и сохраняет в json файл, который с помощью volumes нужно перекинуть на локальную машину: - есть проект в нем папка repositories/ и на локальной машине есть папка например data/ я запускаю докер контейнер командой: docker run -v $(pwd)/data:/project/repositories -itd <hash_cont> далее захожу в него с помощью команды: docker exec -it <hash_cont> bash Запускаю скрипт на питоне, он выполняется, но файла нет. Подскажите пожалуйста, может в докер файле что-то не хватает, либо я команду не так ввожу хотя у меня запускается все. Там в конце docker файла выполняется bash script его я тоже закрепил
максвел
Решил проблему
Maxim
Решил проблему
и в чем была проблема?
максвел
У меня все работало оказывается когда я входил в контейнер командой docker exec …. Я не ждал пока загрузиться скрипт и думал что файл не передаеться. Одним словом очередная глупая ошибка
максвел
Что с ним?
Maxim
Что с ним?
вас там ничего не смущает? и вообще зачем он нужен? там какая то странная шляпа написана
максвел
Он нужен для распаковки 2 архивов и для запуска скрипта
Maxim
Он нужен для распаковки 2 архивов и для запуска скрипта
Что вам мешает добавить эту логику в Dockerfile? зачем нужен этот bash скрипт?
максвел
Я не умею это в docker file писать
максвел
мой
Maxim
ну в смысле вы писали баш?
Maxim
мой
а что вам мешает написать то же самое в dockerfile ?
максвел
bash писал я , пытался через run написать в docker file выдает ошибку
максвел
потому через SHELL
максвел
RUN cd /data
максвел
√Григорий
RUN cd /data
избавься вообще от cd лучше
максвел
просто RUN /data
максвел
?
√Григорий
нет
максвел
как
√Григорий
ты переходишь в директории и там что-то делаешь, а можно всё из одной директории выполнять, указывая пути просто
Maxim
как
WORKDIR /data
Just
Что с ним?
Он странный. Как минимум много лишних действий. rm -f /src/repositories/geckodriver
максвел
Т.е мне какждый раз когда нужно перейти в папку и сделать там что-то я просто указываю ее как WORKDIR ?
Maxim
Т.е мне какждый раз когда нужно перейти в папку и сделать там что-то я просто указываю ее как WORKDIR ?
Это был пример. Обычно обозначают одну рабочую директорию и после этого в RUN директиве описывают весь необходимый процесс для сборки нужного окружения для приложения
максвел
щас я попробую переписать bash в dockerfile
максвел
я не знал что так можно
максвел
теперь знаю
максвел
RUN mkdir hh_parsing COPY . ./hh_parsing RUN pip install --upgrade setuptools RUN pip install --upgrade pip RUN pip install -r ./hh_parsing/requirements.txt RUN apt-get update \ && apt-get install -y tar \ && tar xvzf geckodriver-v0.33.0-linux64.tar.gz \ && tar xvjf firefox-87.0.tar.bz2 \ && mv geckodriver hh_parsing/src/repositories/ WORKDIR /hh_parsing/src CMD ["python", "main.py"]
максвел
вот вроде получилось
максвел
Это драйвер для браузера
Maxim
Это драйвер для браузера
а не лучше ли использовать docker selenoid ? там уже всё в комплекте и не нужно всякие geckodriver, firefox и т.п.
Maxim
то же самое что у тебя в dockerfile только лучше
максвел
Ну я все что гугли в инете дошел только до этого.
максвел
Или как это
Maxim
только круче
максвел
Ну я гляну
максвел
только круче
А в чем ее прикол?
максвел
В двух словах
максвел
В коде на питоне надо что-то менять ?
максвел
Или как
Maxim
В коде на питоне надо что-то менять ?
только ссылку на селениум и порт
максвел
только ссылку на селениум и порт
Тогда завтра попробую
Dan
бот злодей какой
Dan
всех готов за спам прибить, даже если не спам
максвел
Внатуре он на слово л с
максвел
Ругается
максвел
Лс
максвел
А нет
максвел
лс
Dan
ладно, лучше не экспериментировать
максвел
Согласен
Dan
третий раз анбан делать будет уже лениво слишком
Dan
:D
максвел
А меня еще и забанили с думал это просто мут)
максвел
Dan
@sw1tch6lade что ты знаешь о докере?
Никита
он есть, он помогает избежать множества проблем с разверткой приложений + ratio
Dan
Справедливо
Dan
@ilyagrigoryev ты с нами согласен? :)
Илья
@ilyagrigoryev ты с нами согласен? :)
докер - это кит. кит - это заебись
Илья
а че за вопросы?
Dan
собираем интересные, отправим в что где когда.
Dan
планируем выиграть у знатоков
Никита
да, кить классный