­
ты список ипов посмотрел? предполагаю что там их максимум два
­
один из которых 127.0.0.1
V 🏴‍☠️
Петля, докер и эзернет
­
покажи
­
если не секрет
Roman
root@ac6e7db3d5d4:/# ip a bash: ip: command not found
V 🏴‍☠️
Блин, зачем вы в докеры лезете без базовых знаний устройства ОС?
­
тут скорее базовое устройство сетей
Roman
ipconfig в cmd
ти писал что в контейнере ж
V 🏴‍☠️
ето долбаная винда
Ето долбаное незнание основ
Roman
возможно
Roman
не ти сори
Roman
IPv4 Address. . . . . . . . . . . : 192.168.0.102 Subnet Mask . . . . . . . . . . . : 255.255.255.0 Default Gateway . . . . . . . . . : 192.168.0.1
Emil
На 102
Анатолий
0.0.0.0 - это не ип, на него невозможно коннектиться
0.0.0.0 означает случать все интерфейсы
Emil
Заходи
Анатолий
стучатся надо на хост машину на порт 8080
Roman
ERR_CONNECTION_REFUSED
Roman
может показать мои настройки контейнера?
Анатолий
значит nginx отклоняет соединения нужно смотреть логи
Анатолий
nginx'а
Roman
web: image: nginx:latest ports: - "8080:80" - "443:443" expose: - "443" volumes: - ./code:/code - ./ssl:/etc/nginx/ssl - ./site.conf:/etc/nginx/site-enabled/site.conf links: - php
CHIP
Site.conf
Roman
server { index index.php index.html; server_name docker.app; error_log /var/log/nginx/error.log; access_log /var/log/nginx/access.log; root /code; listen 443 ssl; ssl_certificate /etc/nginx/ssl/nginx.crt; ssl_certificate_key /etc/nginx/ssl/nginx.key; location ~ \.php$ { try_files $uri =404; fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass php:9000; fastcgi_index index.php; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param PATH_INFO $fastcgi_path_info; } }
Анатолий
если не удаляли default конфиг хоста то nginx должен показать тестовую страницу с информацией о том что он работает. вот именно что такое server_name docker.app?
Roman
https://localhost http://localhost:8080
ERR_CONNECTION_REFUSED (((( хрень какаято
Анатолий
аа
Анатолий
ну все понятно это сертификат
Анатолий
он не валидный для данного server_name
Roman
тда причем тут он. почему тогда на линухе все ок?
­
на линухе ты заходил на другой адрес
CHIP
Выполни ту команду что я писал выше
­
сертификат делается для конкрнетного адреса
Roman
ща
Roman
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful # deny access to .htaccess files, if Apache's document root # deny all;
Анатолий
сертификат делается для конкрнетного адреса
делаться может но они самоподписанные в таком случаи и иногда браузеры все равно ругаются на них
Анатолий
для того чтобы попасть на этот хост в винде укажите в файле hosts 127.0.0.1 docker.app
Roman
могу конечно убрать его
Roman
так ето ж алиас просто будет. 127.0.0.1 не работает же
Анатолий
скорее всего нет конфига default и nginx все шлет на этот хост а поскольку сертификат сгенерирован на конкретный субдомен от и браузер ругается и отказывает в подключении.
Анатолий
нужно стучатся не по ip а по хостнейму
Roman
хмм. тоесть если оключу ссл все заведется
Roman
ок щас поексперементирую. спасибо
Egor
Наверное часто задаваемый вопрос, но не смог найти внятного ответа в сети - как делать бесшовный деплой с докером? Вот я на продакшене делаю pull образа, мне нужно остановить старые контейнеры и запустить новые - это делается не мгновенно. Я вообще правильную последовательность действий для деплоя предложил или как-то по-другому делают?
Анатолий
у вас в nginx есть две директории sites-enabled sites-available default лежит в sites-available линканите его в sites-enabled
Анатолий
и будет отзываться по ip:8080 и приветствовать
Анатолий
я бы с https так не замарачивался достаточно на хост машине иметь haproxy а все хосты nginx держать на http тогда haproxy может рулить https и подключать нужные сертификаты на лету. У меня что на тестовой что на боевой машине стоит haproxy а все сайты висят на http но пользователи ходят по https туда. Но это уже кому как удобнее.
Анатолий
а как заставить винду отак путь мне заюзать? - ./site.conf:/etc/nginx/conf.d/site.confона думает что conf.d ето файл (
даже не знаю я windows неразу с докером не использовал. Да и самой виндой уже лет 7 не пользуюсь. А что если конфиги ложить не в эту директорию а в специально отведенную sites-available и симлинки в sites-enabled ну или сразу в sites-enabled кидать файлики конфигов хоста.
Roman
а там нему sites-enabled директории
Анатолий
а что есть в nginx.conf
Roman
щас
Анатолий
мб просто переименовать conf.d
Анатолий
в configure к примеру.
Roman
error_log /var/log/nginx/error.log warn; pid /var/run/nginx.pid; events { worker_connections 1024; } http { include /etc/nginx/mime.types; default_type application/octet-stream; log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; access_log /var/log/nginx/access.log main; sendfile on; #tcp_nopush on; keepalive_timeout 65; #gzip on; include /etc/nginx/conf.d/*.conf;
Анатолий
вот
Roman
мб просто переименовать conf.d
а как я ето слеоаб в docker-compose.yaml
Анатолий
переименовываем conf.d директорию и меняем в include ... путь