alexander
но почему оно на разных системах по разному работает - хз
Dmitry
@laktion Так логирование не внутри, а на уровне демона докера. конфиги докера на хост система гляньте
Dmitry
Stas варианты проблем с кешированием отмели? эксперимент чистый, везде убраны все контейнеры и образы перед началом?
Stas
да
Stas
тоесть часть товарищей работало с дебиана - всё было норм
Stas
потом двое, с арчём на десктопах захотели тоже у себя запустить
Stas
всё ставилось с нуля, даже докер
Stas
версии докера пробовал разные, в итоге пришел к тому что везде были последние
Eugene
Пул реквест тогда
Алексей
да - просто завите админов
Eugene
Все, сработало
Eugene
Ночные дежурства
Алексей
Я 1 админ чтоли? о_О
Алексей
У меня к сожалению нет прав добавлять и удалять админов. Напишу кому следует.
Yaroslav
@laktion Так логирование не внутри, а на уровне демона докера. конфиги докера на хост система гляньте
т.е если мне нужно к примеру поставить уровень дебаг, чтобы отследить почему не идет редирект на контейнер к примеру с онлиофисом, нужно это делать в демоне докера ?
Aleksandr
и как в твоем приложении включаются логи в дебаг-режиме?
Yaroslav
на nginxе логи чистые воообще, даже с уровнем дебага
Yaroslav
и как в твоем приложении включаются логи в дебаг-режиме?
вот хз как это сделать)Я думал внутри контейнера как то можно поставить((
Aleksandr
вот хз как это сделать)Я думал внутри контейнера как то можно поставить((
как ты БЕЗ контейнера это сделаешь? докер здесь не причем
Yaroslav
как ты БЕЗ контейнера это сделаешь? докер здесь не причем
дак и я о том же. Я не понял ответ, который мне написали)
Dmitry
Если честно логи самого докера мне очеьн редко помогали, если контейнер работал нормально
Dmitry
работал=запускался
Aleksandr
давай сначала. о каких логах ты гвооришь?
Dmitry
@laktion ^
Aleksandr
@laktion ^
он в личку стукнулся. надеюсь вопрос решен.
Dmitry
ок круто
Nikolay
version: '3.3' services: nginx: image: nginx:alpine ports: - "${NGINX_PORT}:80" env_file: - ./api.env
Nikolay
Ку, сталкивался кто? переменная окружения не видна
Nikolay
docker-compose запускается из этой же папки, если переменную назвать .env то все в порядке
Pavel
docker-compose запускается из этой же папки, если переменную назвать .env то все в порядке
полный путь не пробовал указывать? может у него текущий путь не тот где он запускается
Nikolay
Пробовал
Pavel
а в кавички брать?
Nikolay
Полный в кавычки еще не брал) ща
Nikolay
http://dl4.joxi.net/drive/2017/10/05/0012/1729/788161/61/a6027e4512.jpg
Nikolay
Если убрать нижнее подчеркивание то включается дефолтное подключение env и все работает
Nikolay
Либо тут косяк, либо..тут косяк. А где уже минут 30 не могу понять.
Nikolay
Слева в файловой системе на скрине
Nikolay
Добавлено к файлу _.env
Nikolay
?!
Nikolay
Вода мокрая, масло масленное, ты про это?
Aleksandr
version: '3.3' services: nginx: image: nginx:alpine ports: - "${NGINX_PORT}:80" env_file: - ./api.env
объясняю: - в env_file можно указать любой файл и переменные из него прокинутся внутрь контейнера - то, что ты делаешь, называется variable substitution и работает только из .env и без указания env_file
Nikolay
оооок
Dmitry
.env файл, кстати, не обязателен для variable substituion
Anonymous
Привет. Подскажите пожалуйста, как сделать так, чтобы data volumes(например elastic, postgres, mysql) проброшенные в ситему были не от root пользователя? version: '3' services: elastic: build: context: ./docker/elastic ports: - ${ELASTIC_PORT}:9200 volumes: - ./docker/data/elastic:/usr/share/elasticsearch/data ./docker/data/elastic создается от root пользователя, что очень неудобно...
Alexander
Писал выше, в обазах созадешь пользователя с uid = твоему и в контейнере рунишь от имени этого пользователя
Anonymous
Знаю такой способ, php-fpm/nginx:alpine так сделаны, больше нет вариантов?
Alexander
docker run --rm -it -v /tmp/data:/home/data -u 1000 ubuntu bash
Anonymous
А через docker-compose?
Alexander
доки по композу нужно смотреть я остался на первом варианте
🦠
user: mysql/postgres
🦠
работает как часы
Anonymous
user: mysql/postgres
Сейчас попробую.
Anonymous
работает как часы
Не получилось: version: '3' services: postgres: image: postgres:9.6 user: postgres environment: POSTGRES_DB: 'kek' POSTGRES_USER: 'kek' POSTGRES_PASSWORD: 'kekekek' volumes: - ./docker/data/postgres:/var/lib/postgresql/data —— ~/kek  dc logs postgres Attaching to kek_postgres_1 postgres_1 | The files belonging to this database system will be owned by user "postgres". postgres_1 | This user must also own the server process. postgres_1 | postgres_1 | The database cluster will be initialized with locale "en_US.utf8". postgres_1 | The default database encoding has accordingly been set to "UTF8". postgres_1 | The default text search configuration will be set to "english". postgres_1 | postgres_1 | Data page checksums are disabled. postgres_1 | postgres_1 | initdb: could not change permissions of directory "/var/lib/postgresql/data": Operation not permitted postgres_1 | fixing permissions on existing directory /var/lib/postgresql/data ...
🦠
у постгресса потому что в докерфайле прямо обозначено
🦠
RUN groupadd -r postgres —gid=999 && useradd -r -g postgres —uid=999 postgres
🦠
не 1000
🦠
которая используется для интерактивного входа или исполнения команд
Anonymous
у постгресса потому что в докерфайле прямо обозначено
Получается необходимо написать свой докерфайл и uid сменить на 1000 для пользователя постгрес?
Anonymous
10 версия кстати вчера вышла, уже на хабе есть
Спасибо, чет не обратил внимания.
Alexander
Получается необходимо написать свой докерфайл и uid сменить на 1000 для пользователя постгрес?
Для вашей задачи получается нужно согласовать данные о uid Я не понимаю зачем вам иметь права пользователя на данные баз данных. Когда вы работаешь без докера у вас нет этих прав. Почему они понадобились под докером?
Anonymous
Неудобно, что в директории файлы от root пользователя.
Anonymous
С ними операции редко делаются, но все же, удобнее когда всё под одним пользователем.
Alexander
На дев машинах я использую именнованные тома тогда данные не валяются радом с проектом. Мы работаем как и раньше код у пользователя данные у базы через именнованные том если нужно физически их пощумать идем в /var/lib/docker/volumes/your_name_data_volume
Alexander
Я к тому, что когда вы работали без докер вы не пытались положить базу в домашний каталог и поменять ей права на удобные. Так зачем с докером вы придумываете себе новые проблемы?
Anonymous
Я к тому, что когда вы работали без докер вы не пытались положить базу в домашний каталог и поменять ей права на удобные. Так зачем с докером вы придумываете себе новые проблемы?
Ну мы пробрасываем volumes в систему чтобы если какой косяк с контейнером, то можно было бы восстановиться не так болезненно.
Alexander
Именованные томана работаю аналогично пробросу и данные никуда не деваются если вы не дали комманды удалить в docker-compose добавляете mysql: ... volumes: - api_db:/var/lib/mysql volumes: api_db: driver: local
Alexander
после запуска данные базы хранятся в /var/lib/docker/volumes/api_db
Anonymous
Вспомнил зачем хранить DB в директории проекта, удобно копию через rsync делать)
Anonymous
С одной дев тачки на другую, когда новый разраб подключается, а БД очень большая.
Alexander
С моей колокольни не ту задачу решаете и не тем инструментом. Но можете продолжать мучатся дальше пересобирая и образы вместо продуманной системы разворачивания бекапа Я так понимаю у вас у вас постоянно меняются разработчики и есть мастер разработчик от которого сихронизируется новая база.
Stas
Парни вопрос, на одной из машин
Stas
контейнер пробует стартануть и сразу становится