Евгений
Подскажите, кто-то пользовался offen/docker-volume-backup?
Не очень понимаю, что нужно написать в первой строке у него в настройке.
В примере это
- data:/backup/my-app-backup:ro
Мне там указать свой volume, который я хочу бэкапить?
Или может есть какие-то другие варианты для бэкапа volume?
Первоначально задача бэкапить volume с БД.
Евгений
Ваня💜
Всем привет, подскажите плиз есть те кто пользуется docker на windows?
У меня почему-то bind mount не работает . То есть не подтягиваются изменения кода в лайв режиме
Кто-то сталкивался с таким ?
Evgeniy
Ваня💜
Evgeniy
Это довольно частая проблема просто
Владимир
Подскажите нужно реализовать запуск по крону задач в нескольких контейнерах , как лучше это реализовать?
запустить отдельный контейнер которые будет запускать и выдавать какойто лог того чего он наделал?
George
George
Проще кронтаб на хосте жахнуть, а дальше подумать
George
Может docker run делать с ключом —rm. Или может быть docker exec в существующий
Владимир
есть простыня на два экрана которая делает обслуживание сайта - таких инсталяций несколько
можно понятно понастраивать и использовать конструкцию типа
# Add the cron job
RUN crontab -l | { cat; echo "* * * * * bash /root/get_date.sh"; } | crontab -
но это нужно делать для каждой плюс хотелось какоето логирование и алертинг настроить централизованный вот поэтому и спрашиваю может кто куда подтолкнет
Владимир
я просто на хабе запустил поиск по крону выдало https://hub.docker.com/search?q=cron&type=image достаточно разных образов - а вдруг там есть уже чтото готовое )
Evgeniy
𝔇𝔢𝔪𝔬𝔫
Ребят, здравствуйте. Кто проходил/может посоветовать курсы по DevOps?
George
только сам, только хардкор
𝔇𝔢𝔪𝔬𝔫
Я итак сам, но вдруг от конторы отвалится)
Виктор
Не знаю, насколько норм курсы, но планирую сам попробовать пройти. Есть вступительные тесты, перед тем как начать заниматься. https://practicum.yandex.ru/promo/devops-course/
George
потому что у тебя эта переменная пустая
George
и COPY не резолвит переменные
George
я бы рекомендовал на твоем месте зайти с другого конца - определить WORKDIR и уже в него закидывать для фиксированного пользователя pip.conf
George
либо скопировать файл в известное место, а потом его каким-то образом скопировать или мувнуть в $HOME/...
George
COPY выполняется не в контейнере
George
а докер демоном
Сергей
Aleksander
В общем есть такой скрипт
FROM archlinux:latest
RUN pacman -Syu --noconfirm && \
pacman -S base-devel wget sudo cmake make git clang gcc jsoncpp postgresql mariadb mariadb-clients hiredis --noconfirm
RUN pacman -S c-ares --noconfirm
COPY . /usr/src/backend
WORKDIR /tmp
RUN useradd builduser -m && \
passwd -d builduser
RUN git clone https://aur.archlinux.org/drogon.git
RUN sudo chmod -R 777 /tmp
USER builduser
WORKDIR /tmp/drogon
RUN makepkg -s --noconfirm
USER daemon
RUN makepkg -i --noconfirm
WORKDIR /usr/src/backend
RUN cmake -B build -S . && cd ./build && make
CMD ["./backend"]
LABEL Name=backend Version=0.0.1
и на строке RUN sudo makepkg -i --noconfirm сборка образа отваливается с ошибкой
sudo: a terminal is required to read the password; either use the -S option to read from standard input or configure an askpass helper
sudo: a password is required
Как это исправить?
Evgeniy
контейнеры как vm прекрасное решение, как советуют лучшие гайды
попробуй убрать sudo например ты и так это от рута исполняешь
Aleksander
Илья
ВСем привет
Кто подскажет у меня достаточно большой docker-compose и в нем мне надо так же запустить jdk8 .
Собственно опыта у меня в докере только на примитиве, я как понял есть Dockerfile где мы прописываем инструкцию, что надо сделать?
Вопрос, а как настроить docker-compose, чтобы он взял этот докер файл и тоже запустил его?
А вообще может кто вкурсе я запускаю в докере airflow и пытаюсь прочитать jar файл, dag я написал, но вот проблема у меня нет java, не в шедулите не в морде, через cli проверил в докере...
Как решить это может надо в compose добавить какую-то ссылку ?
я попробовал так добавить , но хз парвильно или нет -
java:
container_name: loginJava
image: openjdk:8
volumes:
- ./home/crismon-01/Documenti/TESI/Docker/mysqlLogin:/usr/src/myapp
working_dir: /usr/src/myapp
command: bash -c "java -jar LogiIn.jar"
Илья
ПРошу помощи уже 2 сутки мучаюсь
Timur
Timur
в /java-app/ лежит ваш dockerfile, а все остальное как обычно
Evgeniy
ВСем привет
Кто подскажет у меня достаточно большой docker-compose и в нем мне надо так же запустить jdk8 .
Собственно опыта у меня в докере только на примитиве, я как понял есть Dockerfile где мы прописываем инструкцию, что надо сделать?
Вопрос, а как настроить docker-compose, чтобы он взял этот докер файл и тоже запустил его?
А вообще может кто вкурсе я запускаю в докере airflow и пытаюсь прочитать jar файл, dag я написал, но вот проблема у меня нет java, не в шедулите не в морде, через cli проверил в докере...
Как решить это может надо в compose добавить какую-то ссылку ?
я попробовал так добавить , но хз парвильно или нет -
java:
container_name: loginJava
image: openjdk:8
volumes:
- ./home/crismon-01/Documenti/TESI/Docker/mysqlLogin:/usr/src/myapp
working_dir: /usr/src/myapp
command: bash -c "java -jar LogiIn.jar"
> Вопрос, а как настроить docker-compose, чтобы он взял этот докер файл и тоже запустил его?
google -> "docker-compose.yml reference" раздел build там все указано
Stanislav
всем привет подскажите если я в
Dockerfile указываю ENTRYPOINT
то у меня не выполняется command из docker-compouse файла, так и должно быть?
Lev
Александр
Александр
Stanislav
Stanislav
как правильно поступить
у меня был docker-compouse у которого command запускает gunicorn
в Dockerfile были действия по созданию имажа и миграции
сейчас переменные все вынеслись в env_file
и соответственно командам из Dockerfile они не доступны
получается правильно все запихнуть в ENTRYPOINT и выполнение этих команд и запуск gunicorn?
@@@@@
Привет всем. Чтоб приложение наружу смотрело в docker-compose я открываю порт 443:443 но чтото с внешнего ip не могу достутчаться до веб сервера, надо еще какие то манипуляии делать?
Evgeniy
фаерволл может у тебя включен ? и блочит ?
@@@@@
открыла там тоже 443 порт, ufw стоит
Evgeniy
посмотри на хосте на какие интерфейсы он забиндил 443 порт
Evgeniy
netstat -tulpn вроде
Evgeniy
netstat -tulpn | grep 443
Evgeniy
должно биндить на 0.0.0.0 что значит все интерфейсы
@@@@@
минуту проверю
@@@@@
спасибо заработало)))
Ilia
Друзья и коллеги, привет! Я еще немного зеленый в сетевых вопросах, но мб кто-то поможет? Пытаюсь нарулить ipv6 в докере, но при добавлении конфигурации в /etc/docker/daemon.json (ipv6: true, fixed-cidr-v6: xxxx::/80) перестает работать ping6 с хоста, сам хост перестает пинговаться с другой машины, ipv6 в контейнерах тоже не работает.
Aleksander
Всем привет! Я тут уже доработал dockerfile и получилось запустить там свое приложение. Но теперь другая проблема. Вот скрипт: FROM archlinux:latest
RUN pacman -Syu --noconfirm && \
pacman -S base-devel c-ares wget sudo cmake make git clang \
gcc jsoncpp postgresql mariadb mariadb-clients hiredis --noconfirm
COPY . /usr/src/backend
WORKDIR /usr/src/backend
RUN git submodule update --init
WORKDIR /usr/src/backend/third_party/drogon
RUN git submodule update --init
WORKDIR /usr/src/backend
RUN cmake -B build -S .
WORKDIR /usr/src/backend/build
RUN make
EXPOSE 8848
LABEL Name=backend Version=0.0.1
ENTRYPOINT [ "./CFEBackend" ]
и вот так я запускаю образ docker run --rm -d -p 8000:8848 backend:latest Но при попытке подключится в браузере пишет, мол невозможно подключится. При запуске той же программы у себя все рабоает хорошо, а с докером беды. Подскажите пожалуйста как исправить
Aleksander
Вот еще листинг из терминала docker ps ✔️ 1m 13s
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
305c8bd9cea2 backend:latest "./CFEBackend" 8 minutes ago Up 8 minutes 127.0.0.1:8000->8848/tcp chat_be
Evgeniy
Evgeniy
ну и запускай без флага -d чтобы видить output обычно туда логи заворачивают
Evgeniy
WORKDIR /usr/src/backend/third_party/drogon
"хорошая" замена cd
это еще не считая что создается куча слоев
очень сомнительный докер файл, как минимум можно разделить окружение сборки и runtime
Evgeniy
Aleksander
Спасибо, почитаю
Aleksander
Evgeniy
Aleksander
Evgeniy
а по поводу портов у тебя ./CFEBackend должна зщапускаться на порту 8848 ты ожидаешь
а тебе надо подключаться на localhost:8000 (так как ты порт -p 8000:8848 делаешь)
ошибка может быть или на этапе запуска бинарника, чего то не хватает конфига и тд и контейнер падает или он висит не на 8848, либо ты не на localhost:8000 долбишься (в docker ps видно 127.0.0.1:8000->8848/tcp)
Aleksander
Evgeniy
на localhost ?
Aleksander
Да. Подожди пока, я понял в чем проблема кажется.
Evgeniy
docker exec -it <container_name or id> bash
в консоле контейнера netstan -tulpn посмотри какой порт LISTEN если никакого мб бинарник не стартует, либо стартует на другом порту
Aleksander
А как можно избавится от постоянной перекомпиляции сабмодулей при изменении любого файла СВОИХ исходников ?
Aleksander
У меня это занимает примерно 5 минут, что просто ужасно
Aleksander
Мне бы хотелось один раз библиотеку собрать и чтоб она кэшировалась
Evgeniy
Зависит от языка
У тебя там make и cmake они должны собирать цельесли она не собранна это уже тутправить тут докер без силен
Aleksander
Хорошо, буду думать. Ближайшая неделя обещает быть веселой 🙂
Evgeniy
Это извечный вопрос как компилировать быстрей
Timur
При билде указать cache-from и предыдущий образ, но при этом надо понимать, если докерфайл элегантно для этого написан, нужные слои не смогут закжшироваться
Oleg
подскажите, пжлст, выполняю команду docker exec pg /bin/sh -c "pg_dump -v -Z1 -Fc > test.dump" и хочу ее вывод сохранить в лог файл на хосте. Как это можно сделать не прибегая к мапированию каталогов?
Konstantin
Konstantin
docker exec pg /bin/sh -c "pg_dump -v -Z1 -Fc" > test.dump?