Марат
и можно ли это в докер композере сделать? или обязательно в докер файле при сборке и ни как иначе?
Artur
в docker-compose.ymlдобавь к контейнеру command: command_for_start_nginx+php-fpm
Марат
Содержимое docker-composer.yml: version: "3.7" services: db: image: pgsqlserver-configured ports: - "5432:5432" web: image: webserver-with-app command: nginx & php-fpm & ports: - "80:80"
Марат
так не срабатывает
Марат
или надо command: nginx &+php-fpm &
Марат
все равно не срабатывает:
Alexey
Спасибо Кэп))) А можно конкретнее?))
взять два образа: энджинкс + php-fpm (ну и третий - pg) и не делать себе мозг
Alexey
да
что за страсть к велосипедам? )
Марат
я просто новичок в докере, вот и делаю мозг )
Марат
я первым делом попробовал три готовых образа nginx php-fpm и pgsql, но так и не смог заставить этот зоопарк работать с веб приложением )
Alexey
я просто новичок в докере, вот и делаю мозг )
у меня есть простая страничка, но на PHP compose такой: www-index: image: nginx ports: - "80:80" volumes: - /var/www/:/usr/share/nginx/html:ro - ./nginx.qb.conf:/etc/nginx/conf.d/default.conf links: - php-cgi extra_hosts: - ... environment: TZ: Europe/Moscow php-cgi: image: php:7-fpm ports: - "9000:9000" volumes: - /var/www:/scripts:ro environment: TZ: Europe/Moscow
Alexey
я первым делом попробовал три готовых образа nginx php-fpm и pgsql, но так и не смог заставить этот зоопарк работать с веб приложением )
из nginx.qb.conf важная часть: server { listen 80; server_name ...; location / { root /usr/share/nginx/html; index index.html index.htm index.php; } # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 # location ~ \.php$ { root html; fastcgi_pass php-cgi:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; include fastcgi_params; } }
Марат
Спасибо! Попробую сейчас!
Марат
А можешь еще пояснить, что означает :ro и что было в extra hosts?
Марат
Alexander
Столкнулся как я понял после гугла, с давольно не редкой проблемой не находит библиотеку в контейнере OSError: Error loading shared library /usr/lib/libgdal.so: No such file or directory То что ее надо установить в конфиге прописанно И самое интересное на другой машине все работает и запускается, есть вероятность что грузит не ту версию что можно с этим сделать?
Alexey
А можешь еще пояснить, что означает :ro и что было в extra hosts?
read-only, конечно же ) в extra-hosts - адрес "внешнего" сервера, на который есть ссылка proxy_pass в конфиге nginx-а (который тут не приведён, т.к. к PHP это не имеет отношения ) )
SiZE
я первым делом попробовал три готовых образа nginx php-fpm и pgsql, но так и не смог заставить этот зоопарк работать с веб приложением )
бест практис - одно приложение, один контейнер, ну и на том же хабре в картинках твой стек много раз обсасывался
Марат
бест практис - одно приложение, один контейнер, ну и на том же хабре в картинках твой стек много раз обсасывался
а можешь ткнуть меня носом? я там искал, но все было в связке с mysql и постгри никак там не хотел запускаться
Марат
спасибо дружище! )
Марат
Спасибо всем за советы! Пойду учить матчасть)
Anonymous
Всем привет, кто сможет объяснить как правильно тегнуть нужный образ [ta4ka@localhost ~]$ docker images | grep tg gitlab.company.com:4567/pakim/tg-catcher 0.1.0 22b422bb0de5 2 days ago 41.2MB pakim/tg-catcher latest 86c54ab44680 3 months ago 9.68MB gitlab.company.com:4567/pakim/tg-catcher unstable fa0f8fd0cdca 3 months ago 9.68MB pakim/tg-catcher dev 41ddf28f159b 3 months ago 9.68MB gitlab.company.com:4567/pakim/tg-catcher latest 5bfdce994c79 4 months ago 9.67MB gitlab.company.com:4567/pakim/tg-catcher <none> fe5dcfd33b6f 4 months ago 9.67MB gitlab.company.com:4567/pakim/tg-catcher <none> c46c0926e9a0 4 months ago 9.67MB gitlab.company.com:4567/pakim/tg-catcher <none> b96a33bc9fe0 4 months ago 9.67MB gitlab.company.com:4567/pakim/tg-catcher <none> fc00e8b67d60 4 months ago 9.67MB gitlab.company.com:4567/pakim/tg-catcher <none> fc3a9d29dbaf 4 months ago 9.67MB
Anonymous
есть образ gitlab.company.com:4567/pakim/tg-catcher:latest его идентификатор 5bfdce994c79 хочу перетагать данный образ docker tag gitlab.company.com:4567/pakim/tg-catcher:latest new_image:latest но если сделаю данным способом, с какой хеш суммой докер подхватит образ? 5bfdce994c79 86c54ab44680 вопрос в следующем, можно ли подать образ через хеш сумму?
George
ответил на твой вопрос?
Anonymous
ответил на твой вопрос?
хотел взять существующий образ и переподписать, да, сяп) узнал, что через sha можно docker tag делать
George
смотри. переподписать != перетегировать
George
т.к. есть еще digest.. но это для цифровой подписи и trusted store
Anonymous
точнее перетегнул, но странно, что исходный образ весил 9mb, а в registry прилетел образ 3mb gitlab.company.com:4567/pakim/tg-catcher old 5bfdce994c79 4 months ago 9.67MB docker push gitlab.company.com:4567/pakim/tg-catcher:old
Anonymous
George
забей
George
если при скачивании у тебя он показывает ТОТ ЖЕ ОБРАЗ, то все ок
George
может попросту в новом гитлабе криво считают
George
и да - у тебя есть развернутый размер образа и запакованный
George
докер регистри показывает ЗАПАКОВАННЫЙ
Oleksandr
дайте плиз base ubuntu image with docker
George
c докер клиентом или с докер сервером?
George
это важное уточнение
Oleksandr
c докер клиентом или с докер сервером?
хз. но думаЮ, что с клиентом
George
FROM ubuntu RUN apt update && apt install docker ?
George
(ну там нюанс есть, но ты сам знаешь какой)
Oleksandr
FROM ubuntu RUN apt update && apt install docker ?
нужно, чтобы докер уже был не знаю. а какой нюанс?
George
docker - это пакет, который не про докер, а правильный - через docker.io прилетает.
George
второй момент, что легко адаптировать https://github.com/docker-library/docker/blob/4dd3f3fe1f263ea74cdc8bed6091008cf62ab751/19.03/Dockerfile#L10 под свои нужды
George
не получится - приходи, покумекаем
rmshell
есть 2 сервиса: php-fpm: image: php:7.3-fpm volumes: - ./:/app depends_on: - db nginx: build: context: ./docker/nginx dockerfile: ./Dockerfile volumes: - ./:/app - ./docker/nginx/logs:/logs links: - php-fpm:fpm depends_on: - php-fpm Нужно ли для php-fpm указывать volumes если он залинован с nginx?
rmshell
Den
Создай свою сеть и линковка не нужна
Den
Они по именам там друг друга найдут
Den
Дефолтный бридж в топку
Den
Линки скоро задеприкейтят вообще
rmshell
дефолтная некатит, которая создаёся с именем проекта?
Den
докер композа?
rmshell
да
Den
помоему если ты не указал нетворк - он не создает новый а юзает дефолтный
Den
но могу ошибаться, может что-то поменялось
Den
ну накати композ и проверь есть ли новые сети в листе
Den
сделай инспект сети и посмотри контейнеры в ней есть или нет
Den
на самом деле это просто написать нетворк и имя в докер композе и всем добавить эту сетку
Den
ну так они должны видеть друг друга по имени…
Den
в дефолтном бридже не работет сервис дискавери без линков
Den
а в кастомном бридже - работает
Den
даже на сайте докера рекомендуют юзать кастомный бридж и не юзать линковки
Den
потому что скоро их задеприкейтят
Den
линки - это всего лишь запись в файле /etc/hosts с именем и айпишником того кого прилинковали
rmshell
чёт деприкате я тут не вижу
rmshell
https://docs.docker.com/compose/networking/
Den
и ты депенденси зачем сделал друг на друга?
Den
депенденси это порядок згрузки