Evgeniy
Evgeniy
просто под external укажи имя volume что у тебя есть
Evgeniy
по умолчанию композ ко всему префикс папки добавляет где лежит файлик и возможно поэтому не может найти volume
Evgeniy
если ты укажешь точное имя возможно сможет найти
Evgeniy
volumes:
local_db_volume:
external:
name: local_db_volume
Evgeniy
либо надо называть этот volume с именем сервиса
docker volume create {you dir}_local_db_volume
Evgeny
Dmitriii
Ребят, всем привет. Надеюсь тут помогут по детскому вопросу)
Если в фалей докер компос запускается postgres:13-alpine
То в рамках этого имении версия постгреса может со временем меняться?
В том плане что сегодня будет версия постгрес 13.х а через пол года уже изменится на 13.у?
Cloud
Evgeniy
Evgeny
Всем привет, почему когда пул с тегом latest и командой docker-compose up -d он не делает изменения
Evgeny
При этом все заранее перебилдилось и запушилось
Dmitriii
Evgeniy
Evgeniy
Не подтягивает новые image?
Evgeny
Изменений чего?
ну, контейнер с реактом не выдает изменений в тексте
Evgeny
Evgeniy
Это немного разные вещи
Evgeniy
Evgeny
Evgeny
линукс
Evgeniy
У тебя там включен дев сервер? С hot reload?
Или ты билдишь и раздаешь в nginx?
Evgeny
Evgeny
- name: Pull image Nginx
docker_image:
name: registry.gitlab.com/name/repa:latest
source: pull
Evgeny
и потом
Evgeny
- name: Docker Compose Up
command: docker-compose up -d
args:
chdir: "{{ docker_compose_path }}"
Evgeniy
Какую то жесть вы делаете вам ее и поддерживать
Evgeny
всем привет
Evgeny
я правда не понимаю, почему докеризированные nginx и приложение на реакт не работают вместе!
Evgeny
server nextjs:3000;
Evgeny
nextjs - это название сервиса из докер композ файла
Evgeny
3000 номер порта
Evgeny
Я уже хоть как перепробовал сделать этот nginx как прокси сервер для реакт приложения
Evgeniy
начни с того что зайди в контейнер nginx и попробуй получить данные с nextjs:3000
Evgeny
Evgeniy
с божьей помощью и верой в аллаха
Evgeny
нет не та
Timur
Evgeny
Timur
скиньте сюда yaml
Timur
скорее всего link до контейнера на react нет
Timur
задебажить можно попав в контейнер с nginx интерактивно и проверить доступен ли ему порт в соседнем контейнере
Timur
docker exec -it nginx bash
Timur
с него уже nc или telnet, при отсутствии установить
Evgeny
скиньте сюда yaml
version: "3.3"
services:
nextjs:
image: registry.gitlab.com/wwawds/production:latest
ports:
- "3000:3000"
restart: always
nginx:
image: registry.gitlab.com/wwawds/nginx:latest
ports:
- "80:80"
- "443:443"
volumes:
- ./log/nginx:/var/log/nginx
- ./nginx:/etc/nginx/conf.d
- ./data/certbot/conf:/etc/letsencrypt
- ./data/certbot/www:/var/www/certbot
restart: always
command: "/bin/sh -c 'while :; do sleep 6h & wait $${!}; nginx -s reload; done & nginx -g \"daemon off;\"'"
certbot:
image: certbot/certbot
volumes:
- ./data/certbot/conf:/etc/letsencrypt
- ./data/certbot/www:/var/www/certbot
restart: always
entrypoint: "/bin/sh -c 'trap exit TERM; while :; do certbot renew; sleep 12h & wait $${!}; done;'"
Timur
command жуть)
Timur
войдите в контейнер с nginx и проверьте доступность
Evgeny
Evgeny
telnet
Timur
telnet nextjs 3000
Timur
alpine?
Evgeny
Timur
cat /etc/*release
Timur
вывод
Evgeny
PRETTY_NAME="Debian GNU/Linux 11 (bullseye)"
NAME="Debian GNU/Linux"
VERSION_ID="11"
VERSION="11 (bullseye)"
VERSION_CODENAME=bullseye
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"
Timur
apt install telnet
Evgeny
Unable to locate package telnet
Evgeny
он что ли весбь повырезанный этот докер
Timur
apt update && apt install -y telnet
Timur
нет, все норм с ним)
Evgeny
telnet nextjs 3000
Trying 192.168.48.3...
Connected to nextjs.
Escape character is '^]'.
Timur
есть доступность
Timur
проверьте конфиг nginx
Evgeny
upstream nextjs_upstream {
server nextjs:3000;
}
Timur
попробуйте без дерективы upstream
Timur
просто proxypass http://nextjs:3000
Timur
можно не выходя изменить
Timur
отредактируйте прям там
Timur
потом nginx -s reload
Evgeniy
там из за этой поебени - ./nginx:/etc/nginx/conf.d
Evgeniy
конфиг перезаписывается в контейнере
Evgeniy
как и вот эта вещь очень сомнительна - ./log/nginx:/var/log/nginx
Timur
с логами еще ладно
Timur
а вот конфиг проверяйте
Evgeny
просто proxypass http://nextjs:3000
proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=STATIC:10m inactive=7d use_temp_path=off;
server {
listen 80 default_server;
server_name www.site.ru site.ru;
server_tokens off;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
# We tell NGINX to use our cache zone that we called STATIC to cache any file whose path contains the /_next/static directory
location /_next/static {
proxy_cache STATIC;
proxy_pass http://nextjs:3000;
# For testing cache - remove before deploying to production
add_header X-Cache-Status $upstream_cache_status;
}
# Next.js handles setting headers for browser caching. For the built static assets at /_next/static/*, the url has a unique build ID in it so the browser cache headers are set to cache forever. If you rebuild the>
# However, with the static assets in the static/ directory, there is no build ID. They are just made available at the /static/* path unchanged. Therefore, Next.js sets no-cache headers for these assets so the bro>
# The problem is that NGINX respects these headers and, therefore, will not actually cache these files by default.
# We can get around this by telling NGINX to ignore the Cache-Control headers from our proxied Next.js app
location ~* \.(?:jpg|jpeg|gif|png|ico|cur|gz|svg|ttf)$ {
proxy_cache STATIC;
proxy_ignore_headers Cache-Control;
proxy_cache_valid 60m;
proxy_pass http://nextjs:3000;
# For testing cache - remove before deploying to production
add_header X-Cache-Status $upstream_cache_status;
}
location / {
proxy_pass http://nextjs:3000;
}
}
Evgeny
Все равно This site can’t be reached