alexander
но почему оно на разных системах по разному работает - хз
Dmitry
@laktion Так логирование не внутри, а на уровне демона докера. конфиги докера на хост система гляньте
Dmitry
Stas варианты проблем с кешированием отмели? эксперимент чистый, везде убраны все контейнеры и образы перед началом?
Stas
да
Stas
тоесть часть товарищей работало с дебиана - всё было норм
Stas
потом двое, с арчём на десктопах захотели тоже у себя запустить
Stas
всё ставилось с нуля, даже докер
Stas
версии докера пробовал разные, в итоге пришел к тому что везде были последние
Eugene
Пул реквест тогда
Алексей
да - просто завите админов
Eugene
Все, сработало
Алексей
Eugene
Ночные дежурства
Алексей
Я 1 админ чтоли? о_О
Алексей
У меня к сожалению нет прав добавлять и удалять админов. Напишу кому следует.
Aleksandr
Yaroslav
Aleksandr
и как в твоем приложении включаются логи в дебаг-режиме?
Yaroslav
на nginxе логи чистые воообще, даже с уровнем дебага
Aleksandr
Dmitry
Если честно логи самого докера мне очеьн редко помогали, если контейнер работал нормально
Yaroslav
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
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
Вода мокрая, масло масленное, ты про это?
Nikolay
Nikolay
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
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
🦠
которая используется для интерактивного входа или исполнения команд
Aleksandr
Anonymous
Anonymous
Неудобно, что в директории файлы от root пользователя.
Anonymous
С ними операции редко делаются, но все же, удобнее когда всё под одним пользователем.
Alexander
На дев машинах я использую именнованные тома
тогда данные не валяются радом с проектом. Мы работаем как и раньше код у пользователя данные у базы через именнованные том
если нужно физически их пощумать идем в /var/lib/docker/volumes/your_name_data_volume
Alexander
Я к тому, что когда вы работали без докер вы не пытались положить базу в домашний каталог и поменять ей права на удобные.
Так зачем с докером вы придумываете себе новые проблемы?
Anonymous
Aleksandr
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
контейнер пробует стартануть и сразу становится