Evgeniy
вот так просто запусти и подергай разные хосты из контейнера (яндекс гугл и тд)
Evgeniy
чтобы понять нормально ли у тебя работает докер потом останется проблема в твоем docker-compose.yml файлике
Vladimir
да
Vladimir
есть коннект
Vladimir
из альфины
Evgeniy
ну раз из "альфины" есть контакт Значит проблема в твоем файле docker-compose.yml комить все что касается network и пробуй запуститься с ним и настрой свой файлик
Evgeniy
сейчас разложу гадальные карты они говоря закомить 8, 15, 22 строку откуда я знаю какие именно строки у тебя в том файле ?
Vladimir
закомментировать строки связанные с нетверком?
Evgeniy
наверно да скорей всего из за кривых настроек сети у тебя контейнеры не имеют доступа в инетрнет или имеют какой то специфичный
Vladimir
наверно да скорей всего из за кривых настроек сети у тебя контейнеры не имеют доступа в инетрнет или имеют какой то специфичный
version: '3.5' services: db: container_name: ${PREFIX_CONTAINER_NAME}-db build: context: ./docker/mysql command: ["--default-authentication-plugin=mysql_native_password", "--innodb-flush-method=fsync"] # ports: # - "${DB_PORT}:3306" expose: - "3306" environment: MYSQL_ROOT_PASSWORD: ${DB_ROOT_PASSWORD} MYSQL_DATABASE: ${DB_DATABASE} MYSQL_USER: ${DB_USER} MYSQL_PASSWORD: ${DB_PASSWORD} volumes: - sql-data:/var/lib/mysql - ./docker/mysql/custom.cnf:/etc/mysql/conf.d/custom.cnf - ./logs/mysql:/var/log/mysql/ restart: unless-stopped networks: - db - php nginx: container_name: ${PREFIX_CONTAINER_NAME}-nginx build: docker/nginx ports: - "${NGINX_PORT}:80" volumes: - ./backend:/var/www:cached - ./logs/nginx:/var/log/nginx:cached # - ./certbot:/etc/letsencrypt restart: unless-stopped # user: "1000:1000" depends_on: - db networks: - db - php php: container_name: ${PREFIX_CONTAINER_NAME}-php-fpm build: docker/php expose: - "9000" volumes: - ./backend:/var/www:cached - ./logs/php:/var/logs:cached - ./docker/php/local.ini:/usr/local/etc/php/conf.d/local.ini restart: unless-stopped depends_on: - db #- redis #- memcached networks: - db - php - elk #- redis #- memcached #- rabbitmq phpmyadmin: container_name: ${PREFIX_CONTAINER_NAME}-phpmyadmin depends_on: - db image: phpmyadmin/phpmyadmin restart: always ports: - ${BD_ADMIN_PORT}:80 networks: - db environment: PMA_HOST: db MYSQL_ROOT_PASSWORD: ${DB_ROOT_PASSWORD} networks: db: php: elk: volumes: sql-data: Вот собственно и весь докер-компоуз проекта, до этого точно такая же сборка на винде работала ок
Evgeniy
для начала зачем тебе 3 сети ?
Vladimir
брал где-то в недрах гитхаба пару лет назад
Vladimir
легаси :)
Vladimir
оно работает, я не трогаю
Evgeniy
ну то есть философский вопрос написать что надо, а не надо не писать ну его нафиг, пойдем стэковерфлоить и будем из кусков собирать свой франкенштейн
Evgeniy
оно работает, я не трогаю
ну раз работает то и пусть работает
Vladimir
Evgeniy
просто во всех контейнерах закомить строки с networks и глобально эти networks
Evgeniy
пусть все контейнеры будут в одной сети
Evgeniy
сделай docker-compose down
Evgeniy
потом когда запустишь свои контейнеры подключись docker-compose exec php ifconfig и посмотри сколько интерфейсов у контейнера
Evgeniy
ну и посмотри в нем ip route list например
Evgeniy
и сравни вывод с тем что будет у docker run -it --rm alpine
Evgeniy
наверно контейнер не запущен запусти вместо exec => run
Vladimir
наверно контейнер не запущен запусти вместо exec => run
/usr/local/bin/docker-php-entrypoint: 9: exec: ifconfig: not found
Vladimir
сети кстати и в других контейнерах нет
Vladimir
в этой сборке
bnr
Здравствуйте хотел установить доккер В чем проблема?)
Anton
День добрый, кто-нибудь сталкивался с Oracle Linux 8? Там менеджер пакетов dnf. Есть вот такой вот образ, где через него пакеты ставятся https://github.com/percona/percona-docker/blob/main/percona-server-8.0/Dockerfile Я от этого образа наследуюсь, пытаюсь создать свой: FROM percona/percona-server:8.0.28-19 USER root RUN set -ex; \ percona-release enable pxb-80 release \ && dnf -y install percona-xtrabackup-80 Но мне dnf уже недоступен > [2/3] RUN set -ex; percona-release enable pxb-80 release && dnf install percona-xtrabackup-80 -y: #5 0.341 + percona-release enable pxb-80 release #5 0.672 * Enabling the Percona XtraBackup 8.0 repository #5 0.675 <*> All done! #5 0.675 + dnf install percona-xtrabackup-80 -y #5 0.675 /bin/sh: dnf: command not found Есть идеи почему? В оригинальном образе не вижу никаких удалений менеджера...
Vadim
День добрый, мне в контейнере нужен крон но у докера нет крона. как быть
Vadim
есть ли какие-то адекватные проверенные решения
Dmitriy
Всем привет! Столкнулся с проблемой прав внутри контейнера php+apache. Подскажите как решить, может кто сталкивался
Evgeniy
например user 1000
Evgeniy
https://docs.docker.com/engine/reference/run/#user
Anton
ubuntu
docker compose используешь для поднятия контейнеров? В свойствах сервиса можно указать user и указать uid юзера из хост стистемы. Обычно это 1000, проверить можешь, выполнив id -u на хосте
Dmitriy
спасибо, с юзером попробую
Anton
-u 1000 тогда можешь указывать при docker run
Anton
короче, нужно запускать процесс из-под того uid, который у тебя на хосте
Evgeniy
другой вариант chmod 777 и анархия в папке
Anton
Так делать не нужно.
Evgeniy
только вот проблема с юзером что в mac он другой uid имеет и его надо выносить в .env
Anton
на мак ос вообще проблемы нет
Evgeniy
и тут начинается жесть с настройкой перед запуском надо проставить uid, gid и тд
Anton
На MaсOS вообще плевать на права, там докер работает иначе с файловой системой.
Evgeniy
еще раз если захордкодить запуск контейнера от uid 1000 то при запуске на macos такого юзера НЕТ и запуск терпит фиаску там дефолтный юзер то ли 502 то ли 534 или какая другая цифра
Anton
ты что-то путаешь)
Evgeniy
я маком не пользуюсь, но был опыт у людей с маком там uid другой бывает по умолчанию
Anton
ты можешь стартануть контейнер с любым uid, вне зависимости от его существования на хосте
Anton
да, там не 1000 по-умолчанию, но это ничего не меняет) Там с хоста доступ к файлам есть, которые создаются из-под контейнера
Evgeniy
ты можешь стартануть контейнер с любым uid, вне зависимости от его существования на хосте
у тебя у папки проекта есть owner и права 755 например тогда другие пользователи не могут писать в эту папку
Anton
я на 100% точно не могу казать как именно работает, но я на нескольких машинах проверял, не смотря то, что внутри контейнера права на файлах светятся одни, на хост машине они (права) выглядят иначе. И доступ на редактирование есть.
Anton
А вообще, я давно закрыл эту проблему кастомным ентрипоинтом, в который из .env прокидываю UID/GID хостового юзера и в ентрипоинте сверяю их с юзером в контейнере
Evgeniy
ок дело вкуса из моего опыта приходилось в .env выносить UID, GID и если они не заданы использовать 1000 но некоторым требовалось перед запуском делать конфигурацию - что как бы считаю минусом
George
В частности, когда шеришь каталог между контейнером и хостом
Anton
угу, это не дело вкуса, это особенность макс ос и докера. Там ничего с правами делать не нужно, с хоста все доступно и редактируется. В твоем случае, вероятно, причина была в чем-то другом
Evgeniy
я на 100% точно не могу казать как именно работает, но я на нескольких машинах проверял, не смотря то, что внутри контейнера права на файлах светятся одни, на хост машине они (права) выглядят иначе. И доступ на редактирование есть.
получается chmod 777 и анархия :) о которой я писал выше как один из вариантов :) права на папки через .gitkeep и задать права на папку и успех :) - тоже решение как бы)
Anton
получается chmod 777 и анархия :) о которой я писал выше как один из вариантов :) права на папки через .gitkeep и задать права на папку и успех :) - тоже решение как бы)
Поведение на MacOS и правда как с 777, но только это не твой выбор. И я не знаю как это справить. А вот chmod 777 - это глупое нарошное решение.
Evgeniy
мы либо задаем пользователя корректно и живем счастливо, но надо конфигурировать либо живем в мире анархии которая реализована какой то магией по факту сводящейся к тому что можно писать кому попало куда попало :) в маках
Evgeniy
Гиткип вообще тут не при делах
как обычно создают папку которой надо задать права и добавить в git ? одно из простых решений создать папку, создать .gitkeep, задать права, индексировать, закомитить, пушнуть
George
Берут и создают
George
Где гит и где докер ?