Максим
Соответственно файл должен лежать в docker/standalone/requirements/production.txt
Sasha
Максим
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 он не лезет
Максим
Максим
У Harbor например есть UI и REST API для такого
Katya
почему у меня Spring приложение в контейнере ищет базу данных по localhost:5432 в то время как я везде указала искать agas-single-service-db-1:5432 ? https://gist.github.com/iva-nova-e-katerina/44fcfa6017a292a9b07b71081ebd2d2d
A
Katya
Alexander 🌨
Привет. Расскажите, в чем различие знаков = и : в environment variables (секция environment)? В Compose.
🆂🅴🆁🅶🅴🆈
🆂🅴🆁🅶🅴🆈
не там же везде : ... а равно только внутри env
🆂🅴🆁🅶🅴🆈
где = там можно всё использовать и : и пробел
а если используете : то нельзя использовать внутри значения пробелы и двоеточие
🆂🅴🆁🅶🅴🆈
скинул в личку развёрнутый ответ от интернетов
Alexander 🌨
Alex
Всем привет!
Поделитесь конфигурацией докера, если есть: бэкенд node js, frontend из двух раздельных vue, можно с nginx. Перерыл интернет, не нашел ничего рабочего.
A
Eugene
Всем привет, как добавить файл в Dockerfile при сборке?
Мучаюсь уже больше часа))
Eugene
Eugene
Alex
A
Спасибо!
Только там почему-то я не увидел конфига 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;
}
}
A
Alex
location /api отрабатывает правильно, а /client или /admin не воспринимает
Alex
router - внутренний сервис - он даже не запустится - т.к. нет перехода на главную страницу.
Alex
304 ошибку передает
A
Можете апстримами сделать. Только придется прописать ваши локации и апстримы https://gist.github.com/namdau/9bf36171393ca584e6fe29f8542b94c9
Alex
Alex
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 ошибок нет - то дело уже в приложении
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
Как прокинуть еще и на машину все порты контейнера
A
Максим
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
Максим
Максим
У каждого контейнера свой собственный localhost.
Если хочешь сделать запрос в другой контейнер - нужно указывать его имя вместо IP, и контейнеры должны быть в общей сети.
Если нужно отправить запрос на хост (твой случай), то указывай host-gateway (linux) или host.docker.internal (win, mac)
Pavlo
то есть запрос должен леттить на: host-gateway:порт? если нет ip
Максим
Максим
Ну и приложение должно слушать запросы со всех интерфейсов, т.е. 0.0.0.0
Pavlo
понял, пасиба
Artur
Как отключить в докере поведение, что при загрузке системы он запускает все контейнеры?
central
Alex
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/ .
central
минуты
грепаю вывод docker logs containername на хосте докера - и получается какая-то херня, как будто куски лога "пропадают" (есть начало и конец, а середины нет)
central