Demetrio
У тебя файлы лежат в папке bot/ относительно докерфайла
©
все понятно, спасибо большое :)
Demetrio
И вероятно лучше скопировать всю папку, чтобы не перечислять
©
да, согласен
Dan
а, то есть полный путь до файлов прописывать в COPY это норм практика? так то оно работает, я думал для этого и существует WORKDIR
Надо не думать, а обращаться к документации, где точно сказано что такое workdir, как его использовать и для чего
Dan
docs.docker.com
©
смотрим: The WORKDIR instruction sets the working directory for any RUN, CMD, ENTRYPOINT, COPY and ADD instructions that follow it in the Dockerfile Устанавливает рабочую директорию для ... COPY ... инструкций, которые находятся в Dockerfile. Ну не написано там, что "Workdir это рабочая директория внутри контейнера" :) в этом и возник затык. Доку я эту видел.
Vitaliy
Поднимаю вебсервер в Докере Он отлично доступен и работает по http + ip + port Настраиваю в nginx редирект с https + домен на этот сервис. Редирект срабатывает - перебрасывает на https + ip + port, но здесь сервис не доступен... server { server_name api.dpt.pp.ua; return 301 https://95.212.141.29:8080; listen 443 ssl; # managed by Certbot ssl_certificate /etc/letsencrypt/live/dpt.pp.ua/fullchain.pem; # managed by Certbot ssl_certificate_key /etc/letsencrypt/live/dpt.pp.ua/privkey.pem; # managed by Certbot include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot } Мне нужно, чтобы обращение по https + домен пробрасывалось в веб-сервис который поднят на ip+port на этом же сервере... Nginx отрабатывает. Докер тоже крутит контейнер на этом же сервере но на http... Почему не доступен по https?
Andrey
Что нужно сделать чтобы заработало?
Google://proxy_pass (и да, при чем тут докер?)
Vitaliy
Google://proxy_pass (и да, при чем тут докер?)
Ок. Спс. Пошёл в гугл А про Докер - потому-что я хз как оно вообще должно работать )
Slach
а тут есть в группе страдальцы которые docker desktop для windows + wsl2 используют? как заставить docker монтировать volumes в docker-desktop-data НЕ КАК tmpfs? df -h /mnt/host/wsl/docker-desktop-data Filesystem Size Used Available Use% Mounted on tmpfs 6.2G 273.3M 5.9G 4% /mnt/host/wsl что-то мне прямо страшно становится от того что я не могу больше чем 6 гигов volumes делать и что они убьются при каждом рестарте контейнера
Slach
Может проще виртуалку с линуксом накатить?
в этом конкретном случае не проще, увы, нужен именно такой сетап =)
A.D.🈴
в этом конкретном случае не проще, увы, нужен именно такой сетап =)
Тада ой, надо кого-то с опытом использования.
Slach
Использую под WSL2 Docker Desktop.
Docker Desktop for Win 3.0.4 + WSL2 у меня есть docker-compose в котором прописан volume при старте контейнера у меня распаковывается 15Gb tar файл (из внешнего источника) в процессе распаковки, wsl runtime docker-desktop и docker-desktop-data падают в результате docker-compose logs -f container тоже падает с питонячьим стектрейсом о том что не может прочитать из docker сокета памяти эта штука вроде не сильно много отжирает вопрос ГДЕ ЧИТАТЬ ЛОГИ wsl? как понять почему оно упало? памяти на машине 16g из них свободно в момент падения 3 свап тоже установлен 16g
Anonymous
Храни господь тех людей, что крутят докер на винде
Dan
:)
A.D.🈴
Докер теряет связь с инетом периодически. Как-то это можно полечить? The following exception probably indicates you have misconfigured DNS resolver(s)
A.D.🈴
банально curl google.com не работает.
A.D.🈴
в соседнем терминале (не в докере) тут же ответ приходит.
Slach
Докер теряет связь с инетом периодически. Как-то это можно полечить? The following exception probably indicates you have misconfigured DNS resolver(s)
кроме докера какие нибудь minikube и т.п. запущены? возможно кто нибудь у вас правила iptables убивает которые для докера важны
Alexey
и на Apple M1
это то как раз решат
Alexey
с виндой сложнее
Max xbim 🌴
Для девклопмента докер с wsl2 норм, а больше и не нужно
A.D.🈴
кроме докера какие нибудь minikube и т.п. запущены? возможно кто нибудь у вас правила iptables убивает которые для докера важны
Нет, ваще ничего. Мало того, если вайфай подключать - все работает. А если с мобилы инет (ну он тоже по вф, но с мобилы) - такая вот фигня.
Slach
Для девклопмента докер с wsl2 норм, а больше и не нужно
ну, как оказалось оно имеет свои особенности если у вас ворклоад который требует памяти в общем нужная win10 20H2 как минимум потому что wsl это часть OS
Slach
Нет, ваще ничего. Мало того, если вайфай подключать - все работает. А если с мобилы инет (ну он тоже по вф, но с мобилы) - такая вот фигня.
ну вообще wifi точка которая на мобиле, может фильтровать мак адреса (переполнять какую нибудь таблицу), которые выдаются виртуальным сетекам, которые за бриджом стоят который у вас докер поднимает на компе хотя по идее внешние подключения через NAT должны делаться... но может когда вы к wifi от телефона берете, там спускаются какие нибудь маршруты вместе с DHCP
Anonymous
ребят, а есть какой то интерфейс чтобы следить за состоянием контейнеров и может иметь возможность поднять его или перезапустить?
Anonymous
и на Apple M1
Зашёл сюда чтобы спросит получилось ли у кого. Можно сказать специально купил чтобы оценить разработку с арм докер-образами )
Anonymous
Всем привет )
Anonymous
перед тем как в сторону \ону серверов на арм смотреть
Slach
Зашёл сюда чтобы спросит получилось ли у кого. Можно сказать специально купил чтобы оценить разработку с арм докер-образами )
ну и образы надо в multiarch состояние переделывать все так что вы сильно должны контроллировать ваши образы текущие чтобы там по зависимостям сверху какое amd64 only не прилетело
Anonymous
а остальное вроде под арм давно есть в теории и должно работать на m1
Anonymous
дак вы на этот issue подпишитесь https://github.com/docker/roadmap/issues/142 пока там жосткая альфа
https://finestructure.co/blog/2020/11/27/running-docker-on-apple-silicon-m1 в комментах там нашёл )
Dan
всем привет, я новичок в докере(сегодня начал изучать), столкнулся с такой проблемой, мне нужно запустить контейнер прокинув ему папку с исходниками. Пытаюсь запустить команду docker run -v /%cd%:/srv/www/app myProject composer install выводит: /bin/sh: 0: Can't open ./docker/docker-entrypoint.sh Пытался добавлять в Dockerfile добавить строку VOLUME /srv/www/app и запустить командой docker run myProject: выводит: ./docker/docker-entrypoint.sh: 5: ./docker/docker-entrypoint.sh: source: not found в чем может быть проблема ? у меня Windows 10 с docker toolbox
Dan
@maxovic у нас бот злой :)
maqsat
я аж испугался :)
Dan
Не, всё норм. Просто он интерпретировал твои логи как спам :)
Dan
Но мы над этим работаем (с)
maqsat
😄👍
Dan
а где у тебя docker-entrypoint.sh ?
maqsat
в laravel проекте есть папка docker внутри и Dockerfile и docker-entrypoint.sh
Dan
а сам docker ты запускаешь из какой папки?
maqsat
я сначала написал cd /d/Career/family/translations/myProject потом создал образ docker build -t myProject -f docker/Dockerfile . дальше уже пытаюсь запустить контейнер
Sergii
Всем привет! Есть такая задача. Нужно простым способом (так сказать в один клик) поменять время во всех докер контейнерах для тестирования некоторых кейсов, связанных со временем. Контейнеров около 20 штук. Крутятся в WSL2 на Windows 10 Когда меняю время в винде - контейнерам пофиг. Я так понимаю у них время либо свое какой-то тикается либо от WSL2 зависит. Погуглил и ничего не нашел как выставить всем время нужное. Кто знает как это сделать?
Anonymous
https://github.com/microsoft/WSL/issues/5324 на такое напарывался
Div
wsl2 оборудован полноценным ядром. Нужно пробовать или ntpd или systemd крутить
A.D.🈴
wsl2 оборудован полноценным ядром. Нужно пробовать или ntpd или systemd крутить
Тоже подумал про нтп, но он же для синхрона, а тут задача свое время выставлять.
Artyom
Тоже подумал про нтп, но он же для синхрона, а тут задача свое время выставлять.
В контейнер через переменную попробовать таймзону выставить разве что
A.D.🈴
В контейнер через переменную попробовать таймзону выставить разве что
А не факт, что это сработает как надо. :) Время поменяется, но может код смотрит по UTC или еще как.
A.D.🈴
Если сработает - это уже вхыод, но только по часу отматывать.
Artyom
А не факт, что это сработает как надо. :) Время поменяется, но может код смотрит по UTC или еще как.
1. Не помню, что за переменная, но она меняет таймзону, и соответственно системное время контейнера. 2. Если код в контейнере не смотрит на системное время контейнера, а считывает сразу UTC, то тут тебе код переделывать.
Sergii
В контейнер через переменную попробовать таймзону выставить разве что
Мне как раз и нужно тестировать то, что докер в UTC а время может приходить в другом поясе + переводится в нужную зону для некоторых случаев. Так что менять зону - это не вариант.
Чудіщє горохове
Че за прикол? Написал вопрос с основного аккаунта, и автоматически сразу на год забанили. Это как вообще?
Sergii
Время в wsl2 от винды отличается?
Сори за долгий ответ) Установил Ubuntu для WSL2 из Windows10 Store команда date говорит что время и пояс одинаковые с виндой В докерах соответственно такое же время с поправкой на UTC
Sergii
Вот это интересно выглядит, только у меня контейнеры ведь волюмы в винду прокидывают... не пойму как это в моем случае работать должно...
Sergii
Просто если даже скрипт написать который будет итерировать все контейнеры и внутри им время ставить то время будет разное немного пока все отработает - это может быть проблемой для токенов авторизации в какие-то моменты. Ну и вообще вариант очень тяжелый как по мне.
Sergii
Пробую через эту убунту дату ставить - ругается на меня sudo date --set="2021-01-15 23:55:00.000" date: cannot set date: Function not implemented Fri Jan 15 23:55:00 MSK 2021
Anonymous
Вот это интересно выглядит, только у меня контейнеры ведь волюмы в винду прокидывают... не пойму как это в моем случае работать должно...
Как-то неправильно выглядит для всл2. конты должны в виртуалку прокидывать а виртуалка в винду только если надо
Sergii
Как-то неправильно выглядит для всл2. конты должны в виртуалку прокидывать а виртуалка в винду только если надо
Может быть я что-то неправильно толкую. У меня есть Docker Desktop для винды. Он раньше просил Hyper-V а с недавнего времени появилась опция с WSL2 - вот я его и использую. У меня есть vmmem процесс - я так понимаю в нем все контейнеры и крутятся внутри. docker и docker-compose я использую из винды. получается и волюмы он мне мапит на виндовые директории. Наверное (но это не точно) получается такая цепочка windows (docker cli) -> WSL2 -> docker containers
Evgeniy
wsl2 это виртуалка в hyper-v вроде
Evgeniy
docker на твоей хостовой машине это лишь клиент он может конектиться к удаленному серверу (где исполняются команды) в твоем случае докер на хостовой машине конектится к виртуальной машине в hyper-v на которой и запущен docker эта виртуальная машина и называется wsl2
Vitaliy
Подскажите плиз как в докер композе указать папку на хосте в которую база данных будет сохранять файлы... Перепробовал уже все возможные volumes как vlumes и как тома... В лучшем случае докер сохраняет данные на хосте но не там где указано в volums, а где-то у себя. В худшем, просто работает с данными внутри контейнера...