Максим
Соответственно файл должен лежать в docker/standalone/requirements/production.txt
Максим
напомни пож как проставить ../..
В podman build другую папку передай
Sasha
В podman build другую папку передай
в docker compose файле есть парамерт context внутри build, +!pltcm+ здесь должен быть такой же
Sasha
pltcm здесь
Максим
Мне это не говорит ни о чем
Максим
Содержимое файла и структуру директорий в студию
Sasha
спасибо
Sasha
вот ответ: podman build -t inplatform-standalone -f docker/standalone/Dockerfile . точка это контекст
Sasha
подскажите а что я делаю неправильно? In [87]: !docker images <my_repo> REPOSITORY TAG IMAGE ID CREATED SIZE ​ In [88]: !docker pull <my_repo>/my-project:latest latest: Pulling from my-project то есть репо пустая, а имадж оттуда пуллит
Максим
docker images показывает локальные образы, в registry он не лезет
Sasha
docker images показывает локальные образы, в registry он не лезет
понял спасибо, это ответ ллм а как тогда посмотреть все имаджи доступные из реджистри?
Максим
У Harbor например есть UI и REST API для такого
Katya
почему у меня Spring приложение в контейнере ищет базу данных по localhost:5432 в то время как я везде указала искать agas-single-service-db-1:5432 ? https://gist.github.com/iva-nova-e-katerina/44fcfa6017a292a9b07b71081ebd2d2d
Katya
Может переменные не те. Можно проверить так в каждом контейнере docker-compose run gateway-service env
я переустановила операционку и все заработало. наверное что-то где-то кешировалось
Alexander 🌨
Привет. Расскажите, в чем различие знаков = и : в environment variables (секция environment)? В Compose.
🆂🅴🆁🅶🅴🆈
не там же везде : ... а равно только внутри env
Alexander 🌨
не там же везде : ... а равно только внутри env
Я не про. Env файл, а то что в compose. Где через тире, а где через двоеточие бывает.
🆂🅴🆁🅶🅴🆈
где = там можно всё использовать и : и пробел а если используете : то нельзя использовать внутри значения пробелы и двоеточие
🆂🅴🆁🅶🅴🆈
скинул в личку развёрнутый ответ от интернетов
Alex
Всем привет! Поделитесь конфигурацией докера, если есть: бэкенд node js, frontend из двух раздельных vue, можно с nginx. Перерыл интернет, не нашел ничего рабочего.
Eugene
Всем привет, как добавить файл в Dockerfile при сборке? Мучаюсь уже больше часа))
A
Всем привет, как добавить файл в Dockerfile при сборке? Мучаюсь уже больше часа))
Ну а если так COPY ./entrypoint.sh / RUN chmod +x /entrypoint.sh ENTRYPOINT ["/entrypoint.sh"]
A
нет прав на выдачу прав)
До указания пользователя выдавайте, перед 12 строчкой
A
Спасибо!
Только там почему-то я не увидел конфига nginx. Наверное придется создать самому
Alex
Только там почему-то я не увидел конфига nginx. Наверное придется создать самому
с этим разобрался - осталась одна проблема - у меня всё создается, всё работает - бэкенд коннектится правильно, никак не могу развести два фронтенда - работает либо первый, либо второй - при этом бэкенд работает правильно с обоими - может сталкивались ?
Alex
server { listen 80; location / { proxy_pass http://front-end:8082; } location /client { rewrite /front-end/(.*) /$1 break; proxy_pass http://front-end:8082; } location /admin { rewrite /admin-vue/(.*) /$1 break; proxy_pass http://admin-vue:8081; } location /api { rewrite /back-end/(.*) /$1 break; proxy_pass http://back-end:5335; } }
Alex
location /api отрабатывает правильно, а /client или /admin не воспринимает
A
location /api отрабатывает правильно, а /client или /admin не воспринимает
Может роутером попробовать? https://router.vuejs.org/guide/essentials/history-mode.html#nginx в любом случае, нужно смотреть ошибки nginx
Alex
router - внутренний сервис - он даже не запустится - т.к. нет перехода на главную страницу.
Alex
Может роутером попробовать? https://router.vuejs.org/guide/essentials/history-mode.html#nginx в любом случае, нужно смотреть ошибки nginx
2024-04-29 14:38:00 192.168.32.1 - - [29/Apr/2024:11:38:00 +0000] "GET /admin HTTP/1.1" 304 0 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36" "-"
Alex
304 ошибку передает
A
Можете апстримами сделать. Только придется прописать ваши локации и апстримы https://gist.github.com/namdau/9bf36171393ca584e6fe29f8542b94c9
Alex
Может роутером попробовать? https://router.vuejs.org/guide/essentials/history-mode.html#nginx в любом случае, нужно смотреть ошибки nginx
большое спасибо за помощь! поищу ещё варианты - полагаю, что нужно добавить настройки vite (сборщике vue) - поищу ещё
Alex
Можете апстримами сделать. Только придется прописать ваши локации и апстримы https://gist.github.com/namdau/9bf36171393ca584e6fe29f8542b94c9
Такой вариант был (тоже рабочий): upstream front-end { server front-end:8082; } upstream admin-vue { server admin-vue:8081; } upstream back-end { server back-end:5335; } server { listen 80; location / { proxy_pass http://front-end; } location /client { proxy_pass http://front-end; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "Upgrade"; } location /admin { proxy_pass http://admin-vue; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } location /api { rewrite /back-end/(.*) /$1 break; proxy_pass http://back-end; } }
Alex
но не до конца рабочий - та же проблема
A
Если кроме 304 ошибок нет - то дело уже в приложении
A
но не до конца рабочий - та же проблема
Возьмите что я прислал конфиг и добавьте локации /admin и /client
Alex
Если кроме 304 ошибок нет - то дело уже в приложении
Я понял в чем проблема - скорее всего причина в том, что nginx обращается в контейнер по адресу: /client , /admin, /api - в контейнере с бэкендом такой адрес существует - его создает node js, а в двух других контейнерах, есть только главная страница - т.к. стоят два SPA - и они редиректят. Посмотрю, что можно сделать. Огромное спасибо за помощь!
Pavlo
всем привет. Помогите, пожалуйста, разобраться. Когда пытась по локалхосту получить доступ к порту то получаю: root@VS-13:/home/main/octo-browser-docker# curl localhost:58888 curl: (7) Failed to connect to localhost port 58888 after 0 ms: Connection refused А когда по ip контейрена то все правильно: root@VS-13:/home/main/octo-browser-docker# curl 172.20.0.5:58888 {"detail":"Not Found"}root@VS-13:/home/main/octo-browser-docker# запуск: docker build -t octobrowser:latest . docker run --name octo -d -P -it --rm \ --network noogle_be_default \ --ip 172.20.0.5 \ --security-opt seccomp:unconfined \ -v '/srv/docker_octo/cache:/home/octo/.Octo Browser/' \ octobrowser:latest Как прокинуть еще и на машину все порты контейнера
Pavlo
А где содержимое доцкер файла?
FROM ubuntu:22.04 ARG TZ=America/Los_Angeles ARG DEBIAN_FRONTEND=noninteractive ENV LANG="C.UTF-8" RUN apt-get update && apt-get install -y \ apt-transport-https \ ca-certificates \ curl \ gnupg \ unzip \ libgles2 libegl1 xvfb \ --no-install-recommends \ && curl -sSL https://dl.google.com/linux/linux_signing_key.pub | apt-key add - \ && echo "deb https://dl.google.com/linux/chrome/deb/ stable main" > /etc/apt/sources.list.d/google-chrome.list \ && apt-get update && apt-get install -y \ fontconfig \ fonts-ipafont-gothic \ fonts-kacst \ fonts-noto \ fonts-symbola \ fonts-thai-tlwg \ fonts-wqy-zenhei \ connect-proxy \ dnsutils \ fonts-freefont-ttf \ iproute2 \ iptables \ iputils-ping \ net-tools \ openvpn \ procps \ socat \ ssh \ sshpass \ sudo \ tcpdump \ telnet \ traceroute \ tzdata \ vim-nox RUN curl https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb --output /tmp/chrome.deb RUN apt install -y /tmp/chrome.deb # Install Octo dependencies RUN apt update \ && apt install -y libgl1 libglib2.0-0 xvfb zip # Create RUN mkdir -p /home/octo/browser # Create new user RUN groupadd -r octo && \ useradd -r -g octo -s /bin/bash -m -G audio,video,sudo -p $(echo 1 | openssl passwd -1 -stdin) octo && \ mkdir -p /home/octo/ && \ chown -R octo:octo /home/octo # Create sudoers.d directory and add sudo permissions for the octo user RUN mkdir -p /etc/sudoers.d && \ echo 'octo ALL=(ALL) NOPASSWD:ALL' > /etc/sudoers.d/octo && \ chmod 0440 /etc/sudoers.d/octo #sudo octo RUN usermod -a -G sudo octo USER octo # Install Octo browser RUN curl -o /home/octo/browser/octo-browser.tar.gz https://binaries.octobrowser.net/releases/installer/OctoBrowser.linux.tar.gz # Unzip Octo browser RUN tar -xzf /home/octo/browser/octo-browser.tar.gz -C /home/octo/browser # Start virtual display and Octo Browser in headless mode CMD Xvfb :1 -ac -screen 0 "1920x1080x24" -nolisten tcp +extension GLX +render -noreset & \ sudo chown -R octo:octo /home/octo && \ sleep 5 && DISPLAY=:1 OCTO_HEADLESS=1 /home/octo/browser/OctoBrowser.AppImage
Pavlo
Зачем все?
При взаимоодействии используются рандомные порты и нужно пробрасываать для этого весь диапазон в моем понимании
Pavlo
--net=host
Типо так?: docker run --name octo -d -P -it --rm \ --net=host --security-opt seccomp:unconfined \ -v '/srv/docker_octo/cache:/home/octo/.Octo Browser/' \ octobrowser:latest
Pavlo
Без -P
Почему-то все равно при попыттке из другого контейнера сделать запрос на: 127.0.0.1:46489 (рандомный может быть порт) - ловлю ошибку connect ECONNREFUSED
Pavlo
Так и должно быть
А если мне всё таки ооочень нужно видеть их между собой?)
Максим
У каждого контейнера свой собственный localhost. Если хочешь сделать запрос в другой контейнер - нужно указывать его имя вместо IP, и контейнеры должны быть в общей сети. Если нужно отправить запрос на хост (твой случай), то указывай host-gateway (linux) или host.docker.internal (win, mac)
Pavlo
то есть запрос должен леттить на: host-gateway:порт? если нет ip
Максим
Ну и приложение должно слушать запросы со всех интерфейсов, т.е. 0.0.0.0
Pavlo
понял, пасиба
Artur
Как отключить в докере поведение, что при загрузке системы он запускает все контейнеры?
Alex
docker update --restart=no <container_id>
Artur
docker update --restart=no <container_id>
А как сделать это по умолчанию, для всех контейнеров?
Artur
Определенный контейнер , не запущен, так почему, при попытке его запуска, докер пишет, что он уже запущен? > docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES > docker run -p 8080:8080 -e KEYCLOAK_ADMIN=admin -e KEYCLOAK_ADMIN_PASSWORD=admin --name=keycloak quay.io/keycloak/keycloak:24.0 start-dev docker: Error response from daemon: Conflict. The container name "/keycloak" is already in use by container "b3cdf5bb0525c03c0ab99e20a26645485fd1e71dbb0c7cdb68d545aa30708c35". You have to remove (or rename) that container to be able to reuse that name. See 'docker run --help'.
Alex
Conflict the container name
Siroga 🇺🇦
Запустите docker ps -a и Вы увидите что такой контейнер уже есть.
Igor
Привет! Может кто подсказать как в докерфайле описать : su - postgres и чтобы под пользователем postgres выполнить команды другие ? первая часть у меня под рутом делается но надо и для пользователя postgres добавить пути в PATH
Alex
Всем привет. как положить собираемый образ в указанный каталог ? Что-то типа docker build -t blahblah:latest -t target/ .
thesNu
Всем привет. как положить собираемый образ в указанный каталог ? Что-то типа docker build -t blahblah:latest -t target/ .
Если нужен образ, например чтобы потом в закрытый контур перетащить или еще чего то после docker build -t blahblah:latest сохранить его в файлик docker save -o target/blahblah.tar blahblah:latest
минуты
грепаю вывод docker logs containername на хосте докера - и получается какая-то херня, как будто куски лога "пропадают" (есть начало и конец, а середины нет)