inqfen
и у тебя в корне такого нет
inqfen
там так было в итоге -./nginx.conf ....
а вот это уже относительный путь
inqfen
Ну да я указал контекст
ты же можешь монтировать и к контейнеру который типа как nginx с внешки качается, у него нет контекста и никогда не было
Vladislav
ты монтируешь файл вместо каталога
ага, это я понял. Но почему в контейнере не было конфига
Vladislav
Ага, видел пример в документации
inqfen
ага, это я понял. Но почему в контейнере не было конфига
ну например нужно было или - ./nginx.conf:/etc/nginx/nginx.conf или - ./nginx.conf:/etc/nginx/conf.d/hui.conf
inqfen
вообще это даже на самом деле не к докеру вопрос, а к тому как инклюды в nginx работают
inqfen
а работают в общем-то так как сам пропишешь
Vladislav
а работают в общем-то так как сам пропишешь
Ага, ну просто я заходил во внутрь контейнера nginx а конфига там не было
inqfen
могу поспорить, что если бы я монтировал, то я бы зашел и он там был)
Vladislav
Та не, смысла нету спорить. 100% я что-то не так делал
inqfen
Я к тому, что если в таком простом кейсе что-то не так - то что-то сделано не так, ты прав
Arcady
Привет. Как сделать образ докера полностью автономным и не зависящим от скачиваемых из облака библиотек? То есть как автоматически убрать из Dockerfile вот все эти RUN dnf -y install vim и поместить непосредственно внутрь папки с репозиторием?
Arcady
Я просто думал может как то автоматом можно скачать все либы из облака и упаковать внутрь репы. А то ручками каждую ставить долго.
George
это примерно эквивалентно - сделать локальную копию репы
George
либо всегда можно собрать докер файл со всеми зависимостями и уже его использовать как базовый
Anonymous
Ребят, привет! Не подскажите в чем может быть проблема. Есть контейнера, нгинкс и пхп-фпм. В обоих из одной и той же папке примонтирован пхп код в те же самые директории. но с нгинкс telnet php--fpm-container 9009 сразу закрывается, в том время как с самого контейнера с пхп-фпм на этот порт без проблем коннектится. пробовал listen = 0.0.0.0:9009 и 127.0.0.1:9009 результат один и тот же.
Anonymous
А почему 9009?
Ну например. С 9000 тоже самое
Georgiy
А почему 9009?
потому что попадает в допустимый диапазон портов, например
Anonymous
Через compose запускаешь? Давай код
nginx: build: context: . dockerfile: Dockerfile-nginx restart: unless-stopped depends_on: - rainloop - postfixadmin volumes: - /etc/localtime:/etc/localtime:ro - ./config/rainloop:/var/www/rainloop ports: - "80:80" - "443:443" networks: - mail-mo-network rainloop: build: context: . dockerfile: Dockerfile-rainloop restart: unless-stopped depends_on: - dovecot - postfix environment: WAIT_HOSTS: postfix:587, dovecot:143 volumes: - /etc/localtime:/etc/localtime:ro - ./config/rainloop:/var/www/rainloop networks: - mail-mo-network
Anonymous
nginx: build: context: . dockerfile: Dockerfile-nginx restart: unless-stopped depends_on: - rainloop - postfixadmin volumes: - /etc/localtime:/etc/localtime:ro - ./config/rainloop:/var/www/rainloop ports: - "80:80" - "443:443" networks: - mail-mo-network rainloop: build: context: . dockerfile: Dockerfile-rainloop restart: unless-stopped depends_on: - dovecot - postfix environment: WAIT_HOSTS: postfix:587, dovecot:143 volumes: - /etc/localtime:/etc/localtime:ro - ./config/rainloop:/var/www/rainloop networks: - mail-mo-network
nginx.conf server { listen 80; server_name mail.mo.mz19.ru mail-mo.mz19.ru; root /var/www/rainloop/; client_max_body_size 32M; location / { index index.html index.htm index.php; autoindex on; autoindex_exact_size off; autoindex_localtime on; } location ^~ /data { deny all; } location ~ \.php$ { try_files $uri =404; fastcgi_pass rainloop:9009; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include /etc/nginx/fastcgi_params; } }
Дмитрий
Только на порнхабе 😅
Anonymous
да тут все банально, вероятно я где-то туплю. с контейнера с нгинкс / # telnet rainloop 9009 telnet: can't connect to remote host (10.99.0.38): Connection refused с контейнера рейнлуп (пхп фпм) [root@c025fef734c5 /]# telnet localhost 9009 Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. Connection closed by foreign host.
Anonymous
Может есть пример какой-то докер компоуза где по тцп общается пхп-фпм и нгинкс? Что-то я поискал примеры и нашел только то, что делают либо через супервизорд в 1 контейнере все, либо связь через юникс сокет, ну либо апач..
George
http://geekyplatypus.com/dockerise-your-php-application-with-nginx-and-php7-fpm/
George
первая ссылка буквально
Anonymous
http://geekyplatypus.com/dockerise-your-php-application-with-nginx-and-php7-fpm/
это я читал. Не понимаю почему в моем случае не работает.
George
отлаживать надо ) скорее всего скрипты кривые или порядок запуска не тот
George
там есть замедленная бомба, что если php не стартанет, то и nginx тоже
Anonymous
там есть замедленная бомба, что если php не стартанет, то и nginx тоже
зделал! Мейнтейнеры пакетов федоры мне напакостили. Кароче дело было в строчке listen.allowed_clients = 127.0.0.1. А я листал листал и только сейчас заметил эту фигню.
Anton
привет всем. Подскажите кто знает, есть докер копмоз готовый, как его запусить чтобы он работал постоянно, даже когда я выключаю тачку свою
Anton
как?
ос линуха?
Anton
да. центос
Anton
да. центос
создаешь кастом скрипт которыйранит докер компоуз файл и кидаешь его в атозапуск, гугл в помощь
Anton
systemd
[root@centos-4gb-fsn1-1 myproject]# systemctl is-enabled docker enabled [root@centos-4gb-fsn1-1 myproject]# systemctl is-enabled docker-compose Failed to get unit file state for docker-compose.service: No such file or directory
Anton
systemd
[root@centos-4gb-fsn1-1 myproject]# systemctl is-enabled docker compose enabled Failed to get unit file state for compose.service: No such file or directory
George
Хуже совета не видел. Я понимаю ещё отдельные контейнеры в системди пихать. Но компоуз - это, извините, за гранью
inqfen
После перезапуска машины тоже включатся
Denis
Говно
Спросили, ответил. Я конечно может из контекста выпал, но тут вообще предлагали supervisor
Denis
спасибо, вариант с systemd unit использовал уже
Я не совсем понял возможно контекст вопроса. Нужно что бы после вкл/выкл машины поднималась автоматом группа контейнеров? Или группа контейнеров которая прописана в компосе?
Denis
Так есть в одном файле
Denis
спасибо, вариант с systemd unit использовал уже
Если кейс такой как я описал выше, то сделать нужно как выше подсказали. Добавить опцию restart: always
George
Если кейс такой как я описал выше, то сделать нужно как выше подсказали. Добавить опцию restart: always
У рестарт always есть серьезная родовая болячка. Оно не гарантирует порядок запуска контейнеров
George
Условно - воркер пыхыпы может стартануть раньше бд. И привет спецэффектам. Засовывание docker compose up (с restart policy none) в системди решает эту проблему, но выглядит очень грязным трюком. Тогда уж реально красивее - каждый отдельный контейнер паковать в свой юнит, а потом между юнитами настраивать зависимости в самом системди. Вот что я хотел сказать
inqfen
Книги по докеру не нужны, он слишком прост для этого
inqfen
Одну глазами пробегал, так там автор сплошную воду льёт, чтобы как-то до книги это дорастянуть
inqfen
Все с чем он работает глубже уже в доках и книгах по самому линупсу описывается
Sergey
!спам
Alexandra
всем привет снова, подскажите плз, как сделать контейнер доступным для вебсокетов?
Alexandra
EXPOSE добавлен в конце
Alexandra
контейнер крутится, а подключение отклоняется((
Aleksei
Привет всем, можно каким-то образом добавить переменную окружения для уже запущенного контейнера?
Alexandra
но могу ошибаться
Vladislav
Может не в контейнере дело
посмотри порт открыт netstat -tulpn | grep LISTEN
Alexandra
вот такой трейсбек при запуске docker: Error response from daemon: driver failed programming external connectivity on endpoint thirsty_varahamihira (88b98e17dc5ee6d2bb8f2e471b726f6225616b62564f786dcd44778a32d6d42e): Error starting userland proxy: listen tcp 0.0.0.0:8888: bind: address already in use.
Alexandra
не понимаю, как этот порт может использоваться
Vladislav