Alexey
убрал
Денис
Alexey
вообще убрать? никакой драйвер не прописывать?
Денис
Денис
Alexey
не вижу особенных измененй http://prntscr.com/qa1y2i
Alexey
http://prntscr.com/qa1yit
Денис
Alexey
хорошо не стало :)
Денис
Денис
хм
Alexey
ага
Денис
Alexey
http://prntscr.com/qa1zth
Денис
конфиге дб - всмысле у приложения
George
George
а ты думал о том, что имя контейнера != имя сервиса?
George
в смысле - имся сервиса - это то что ты задаешь в компоузе
George
а имя контейнера - то что автогенерит докер компоуз
George
и надо обращаться именно по имени сервиса
George
я просто по диагонали читаю ) сорри
Alexey
http://prntscr.com/qa22cu
Денис
George
у тебя постгрес то вообще стартанул?
George
как бы нет контейнера - нет днса. это логично
George
хотя и криво
Gleb
@gecube с sysctl в докере вообще эпичная история https://github.com/moby/moby/issues/30778
Артем
Я в 20 лег
Pavel
Ребята помогите разобраться
Есть пхп проект скажем в папке myproj
запускаю через docker-compose
php-fpm
nginx
каждому примонтирован локальная папка
myproj: /var/www/app
myproj: /var/www/app
права на эту папку от текущего обычного судо пользователя
и тут вдруг выясняется что внутри докера процессы запускаются
для NGINX от пользователя nginx
для php-fpm от пользователя www-data
и у них нет прав на эту папку
обычно как правильно надо натсроить?
Pavel
я думал что в докере все запускается от рута и него на все есть права, а оказыается только команды шел запускаются от рута, а вот процессы видимо завивист как Автор образа задумал
Pavel
на nginx нужен доступ к папке myproj/public для статичных файлов
Pavel
даю права внутри контейнера php-fpm
запускаю баш внутр контейнера
chown -R www-data:www-data .
и выхожу из контейнера и вижу что права на папку действительно поменялись на www-data
в системе вроде есть пользователь www-data ну и ладно
теперь у пхп нет проблем запускается
а вот NGINX нет доступа с папке public т.к. он теперь www-data
Pavel
папка то общая на самом деле, примонтированы
Ярослав
Я поставил Jenkins на ночь каждый час гонять билды
Вот результат:
53 - psql: FATAL: database "hrmdb" does not exist
58 - psql: could not connect to server: No such file or directory Is the server running locally and accepting connections on Unix domain socket "/var/run/ postgresql/.s.PGSQL.5432"?
60 - psql: could not connect to server: No such file or directory Is the server running locally and accepting connections on Unix domain socket "/var/run/ postgresql/.s.PGSQL.5432"?
62 - psql: FATAL: the database system is starting up
64 - psql: FATAL: database "hrmdb" does not exist
65 - psql: FATAL: database "hrmdb" does not exist
Vlad
Ярослав
xD
Ярослав
6 билдов успешны из 14, и затык происходит на стадии работы с сервисом db Очень странно для меня, то базы в контейнере не существует, то какие-то проблемы с сокетом, Но при этом бывает и всё хорошо, за один период времени. Кто-нибудь подскажет как можно избежать этой нестабильности? перед заливанием дампа в базу sleep на подольше поставить? 10 секунд это мало?))))
Ярослав
Andrey
за 10 секунд возможно база и не стартанула. Используй в docker-compose healthcheck для проверки работоспособности базы, и после этого вливай дамп. Загрузку дампа так же сделай в самом композе файле
Blinki
Andrey
mongo:
image: mongo:${MONGO_TAG}
ports:
- "127.0.0.1:${MONGO_PORT}:${MONGO_PORT}"
environment:
TZ: "Europe/Moscow"
healthcheck:
test: echo 'db.stats().ok' | mongo ${MONGO_HOST}:${MONGO_PORT}/test --quiet
interval: 3s
timeout: 5s
retries: 5
mongo-populate:
image: mongo:${MONGO_TAG}
volumes:
- ${PWD}/dump/:/backup/dump/:ro
environment:
TZ: "Europe/Moscow"
command: bash -c "mongorestore --drop --host ${MONGO_HOST}:${MONGO_PORT} --gzip /backup/dump"
depends_on:
mongo:
condition: service_healthy
Ну вот как то так у меня реализовано но с монгой, делай аналогично с постгресом
Ярослав
Ярослав
Ярослав
Я вот такую чекалку нашёл, как считаете, сойдёт?)
Andrey
ну Вам же импорт в базу надо сделать после того как база запустится. Так что как раз это Ваш вариант
Andrey
Должна сойти, но выглядит как то костыльно больно
Andrey
https://gist.github.com/zhunik/3f3087d5982bcf0297ab23ebaeb46bc1
Ярослав
Хммм... Ну вот смотрите я запускаю через компос сервис с базой отдельно
TAG=test docker-compose -f ../app/docker-compose.test.yml up -d db
Потом извне внутрь контейнера с базой закидываю дамп
docker cp dump_for_test.sql app_db_1:/
И потом уже через docker-compose его выгружаю в бд
TAG=test docker-compose -f ../app/docker-compose.test.yml exec -T db psql -d hrmdb -U user -f dump_for_test.sql
При такой ситуации не совсем понимаю как мне хелсчек поможет
Ну будет запускаться сервис с базой с хелзчеком, но мне как минимум дамп закинуть надо извне в контейнер и потом уже изнутри контейнера выгружать дамп в дб
Andrey
Так зачем отдельно? Описываете два сервиса в композ файле, и пускаете их docker-compose up -d db db-populate
Andrey
И он сам проверит и запустит
Ярослав
Хммм....... Интересно получается) Один контейнер с чистой psql базой, а второй контейнер с psql базой и дампом который подрубается к "чистому" сервису с бд и загружает туда дамп?
Andrey
Да, загружает дамп и умирает
Andrey
А база как работала так и работает
Alexey
Всем привет. Объясните новичку один момент пожалуйста) Вот когда используется команда run, оболочка переходит в контекст контейнера. И после этого, если прервать выполнение команды, переданной после run, контейнер стопорится. Речь о MongoDB если что) Какой синтаксис команды run использовать, чтобы контейнер запустился и работал в фоне?
Andrey
run -d
Alexey
run -d
Оп. Спасибо большое))
Alexey
А как хранить состояние контейнера? Ну то есть, я передал все параметры в run, потом после restart контейнер запускается без них
George
George
Состояние контейнера записывается внутри в бд в докера. Проверь docker inspect до рестарта и после
Alexey
Anonymous
docker-compose up -d —force-recreate
ERROR: No such service: —force-recreate
Anonymous
docker-compose -f docker-compose.yml up -d --force-recreate
ERROR: .FileNotFoundError: [Errno 2] No such file or directory: './docker-compose.yml'
Anonymous
что не так?
wasja
No such file or directory - у тебя файлик не видит, ты точно в той папке где файл находится запускаешь?
Anonymous
да. уу меня проблема со временем почему-тог. если я ставлю 19 декабря, то работает корректно
Anonymous
что-то сбилось со временем
Evgeniy
Сам же ответил на свой вопрос
Stanislav
всем привет, подскажите пожалуйста, в чем проблема может быть, не особо догоняю, уже долго достаточно сижу. образы nginx и bitnami/php-fpm:7.3
Stanislav
George
Ну, написано же - пермишн денайд
George
Юзеры разные наверняка в разных образах. Ты создаёшь файлы и какой-то из двух контейнеров не может их прочитать
George
Третий вариант - ты тупо создаёшь файлы с маской 777