John
Они на одной машине
John
Expose и ports это разные вещи
Oleg
эм
Oleg
просто добавьте портс
John
Экспоуз открывает порт внутрь докеровской сети
John
Портс биндид трафик с хоста
John
Пхп контейнеру не надо слушать трафик с хоста
E
version: '3' services: php: image: php:7-fpm ports: - 9000:9000 volumes: - /absolute/path/:/absolute/path/
John
А nginx тут где?
E
тут нет nginx. Как раз хочется без него, а с родным, без докера.
Владислав
А nginx тут где?
Не нужон. :D
Alexandr
....
Oleg
нжинкс у него бежит на хосте
Alexandr
upstream localhost:9000
Oleg
так с ports: - 9000:9000 заработало?
Владислав
Я недоумевал прежде, к слову, как можно собрать образ под приложение без nginx. Потом посмотрел пример одного проекта, где его нет вообще.
Владислав
Там базовым образом является php
E
так с ports: - 9000:9000 заработало?
нет, оно так с самомго начала стояло
Oleg
a docker inspect php_1 что говорит?
Oleg
экспоуз ничего не открывает
E
a docker inspect php_1 что говорит?
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 215dd0531939 php:7-fpm "docker-php-entryp..." 12 minutes ago Up 12 minutes 9000/tcp docker_php_1
Artem
тут нет nginx. Как раз хочется без него, а с родным, без докера.
Если не юзаешь nginx в компоузе, то апстрим должен быть localhost:9000 в твоём случае
Artem
В expose можно писать все что угодно, он несёт чисто описательную функцию
dcptn
9000/tcp а должно быть 0.0.0.0:9000->9000/tcp запусти ручками
John
И че не так я сказал? The EXPOSE instruction informs Docker that the container listens on the specified network ports at runtime. You can specify whether the port listens on TCP or UDP, and the default is TCP if the protocol is not specified.
Artem
Inform
Artem
Контейнеры доступны между собой по всем портам в одной сети
Artem
Ниче никуда экспоуз не открывает
John
Вупси дейзи
Chebyrash
Ниче никуда экспоуз не открывает
Интересно тогда зачем он..
E
Name Command State Ports --------------------------------------------------------------------------------------- docker_php_1 docker-php-entrypoint php-fpm Up 9000/tcp, 0.0.0.0:9002->9002/tcp Сейчас сделал на 9002
Evgenii
зачем тебе на хосте права?
Файлы на хосте с какими правами у тебя?
Artem
Чтобы когда ты набирал docker ps на серваке не вспоминал, а на какой же порт я повесил пыхапе в своем кастомном контейнере
Evgenii
причем тут я?
Ты докер не юзаешь?)
Evgenii
я юзаю
Ну так, какие права ставишь?
E
Файлы на хосте с какими правами у тебя?
сам докер рут, а заливаемые 777
Aleksandr
Ну так, какие права ставишь?
никакие. мне не нужно. я и спрашиваю, зачем тебе на хосте права файлов, используемых контейнером
Evgenii
Что за фс такая?
Aleksandr
Не бывает 'никаких прав'
стандартные, выставляемые контейнером.
E
Спасибо всем. Заработало. Права нужны 0660 nginx upstream 127.0.0.1:9000
E
Еще раз спасибо огромное!
Anton
Привет всем. Как то раз уже задавал этот вопрос, никто не ответил (скорей всего не сталкивались). Может щас знающие подскажут. Не могу получить сертификаты через https://hub.docker.com/r/jrcs/letsencrypt-nginx-proxy-companion/
Anton
в логах пишет: CA marked some of the authorizations as invalid, which likely means it could not access http://example.com/.well-known/acme-challenge/X. ...
Алексей
Вангую что у тебя контейнер не светит на внешку
Anton
nginx-proxy стоит
Алексей
Сертификатор должен стукнуться в хост и убедиться что он реальный
Anton
на внешку у меня открыт nginx-proxy, у которого 80 и 443 порты открыты на внешку. А он уже проксирует в бэкенд контейнер
Anton
более тогО, в конфиг добавлял что-то подобное location ^~ /.well-known/acme-challenge/ { allow all; root /usr/share/nginx/html; }
Алексей
По этому пути лежат сертификаты?
Anton
/etc/nginx/certs пробрасывается
Aleksandr
в логах видно как ЛЕ стучится?
Anton
2017-12-04 13:00:12,691:INFO:simp_le:1538: Retrieving Let's Encrypt latest Terms of Service. 2017-12-04 13:00:20,115:INFO:simp_le:1455: Generating new certificate private key 2017-12-04 13:00:25,435:ERROR:simp_le:1421: CA marked some of the authorizations as invalid, which likely means it could not access http://example.com/.well-known/acme-challenge/X. Did you set correct path in -d example.com:path or --default_root? Are all your domains accessible from the internet? Please check your domains' DNS entries, your host's network/firewall setup and your webserver config. If a domain's DNS entry has both A and AAAA fields set up, some CAs such as Let's Encrypt will perform the challenge validation over IPv6. If you haven't setup correct CAA fields or if your DNS provider does not support CAA, validation attempts after september 8, 2017 will fail. Failing authorizations: https://acme-v01.api.letsencrypt.org/acme/authz/4eEBWKRTxnzThymUXb8v0itH7_MY0sM-6_HQY9dKwBg Challenge validation has failed, see error log.
Anton
фигово
Anton
Aleksandr
только не говори, что ты запрашиваешь для example.com
Anton
нет конечно)
Aleksandr
но на скрине example
Anton
все по мануалу -"LETSENCRYPT_HOST=имя_хоста"
Aleksandr
ну ты видишь в логах example.com?
Anton
вижу конечно
Anton
подумал, что стандартная ошибка независимо от хоста)
Aleksandr
то есть либо ты ошибся либо образ нерабочий. какой вариант вернее?
Anton
а в логах должен быть хост, для которого запрашивается сертификат?
Anton
я просто хз
Aleksandr
я тоже. думаю реальный
Anton
что-то с образом
Anton
сертификат именно для моего хостнейма запрашивается
Anton
это в сообщении example.com
Anton
кажется догадываюсь, в чем пробелма