George
как только ты создаешь файлы от юзера, то ты поймешь, что тебе нужно юзера прокинуть в контейнер
George
это можно сделать двумя способами (docker run ... -u ...) и через -e USERID=$(id -u)
George
но потом ты столкнешься со 100500 другой проблемой
Andrei
у меня девелоперы любят иногда отменять тесты в gitlab а там у меня ток в конце смена прав на созданные файлы. Если смена прав не отработала след раз ранер скажет что у него нет прав на файлы.
George
https://habr.com/ru/post/465193/#comment_20562785
George
Andrei
George
ну, без пайплайна вопрос беспредметен
Andrei
да не перейти то в рут можно ток чисто марально тяжело
Ivgenich
а ты не переходи ))
Ivgenich
sudo делай 😂
Andrei
)
Andrei
я признаюсь не понимаю как так получаеться что созданный внутри docker compose файл создаеться с правами рута, что читать нужно для понимания
George
George
1. Все бинд маунты создаются под рутом
2. Если пользователь внутри контейнера рут, то угадай, кто овнер файла
George
Это решается, но только через боль
George
Сраный докер
George
Andrei
2.если имя ужера такое же как как предпологаемом окружении то будет создаваться не из под рута ?
George
George
Ибо юзер нейм не равно юзер айди
Andrei
мм еще вариат в моем случае попробовать before_script: от gitlab. Есть кто то прервал тесты то след раз ранер сперва поправить оунеров у созданый файлов
Andrei
George
У тебя снаружи юзер Вася айди = 1000, а в контейнере 1001. И приплыли
George
George
Подумай. Возвращайся с конкретными вопросами
kSandr
George
Ты видел, что коллега писал?
George
У него в пайплайне есть човн, но если пайп фейлится, то файлы остаются с кривыми правами
kSandr
kSandr
там вроде когда делается канцел афтер скрипт не отрабатывает, но эт не точно )
George
Как бы я не вижу в этом большой беды (в кривом владельце)... Но тем не менее у коллеги боль
George
George
George
George
Anonymous
Парни есть ELK в компоузе + контейнер с filebeat что нужно прописать в конфигах филбета а точнее
output.logstash:
hosts: ["0.0.0.0`:5000"]
чтобы это говно законектить ?
George
Anonymous
filebeat.inputs:
- type: docker
containers:
path: "/usr/share/dockerlogs/data"
stream: "stdout"
ids:
- "*"
cri.parse_flags: true
combine_partial: true
exclude_files: ['\.gz$']
processors:
- add_docker_metadata:
host: "unix:///var/run/docker.sock"
filebeat.config.modules:
path: ${path.config}/modules.d/*.yml
reload.enabled: false
# setup filebeat to send output to logstash
output.logstash:
hosts: ["0.0.0.0`:5000"]
# Write Filebeat own logs only to file to avoid catching them with itself in docker log files
logging.level: error
logging.to_files: false
logging.to_syslog: false
loggins.metrice.enabled: false
logging.files:
path: /var/log/filebeat
name: filebeat
keepfiles: 7
permissions: 0644
ssl.verification_mode: none
Anonymous
input {
tcp {
port => 5000
host => "0.0.0.0"
}
}
## Add your filters / logstash plugins configuration here
output {
elasticsearch {
hosts => "elasticsearch:9200"
user => "elastic"
password => "changeme"
}
}
kSandr
Расскажи нам как надо
ну всегда можно задать user в контейнере в котором крутятся тесты и тогда файлы будут созадаваться от него, ... либо не использовать бинд мануты
kSandr
либо он может тупо даже не меняя пользователя в контейнере , запускать изначально тесты под нужным пользователем sudo -u bla -c 'her'
kSandr
папка создается и вешаются на нее права перед запуском композа, чоун на пользователя от которого запускаться тесты будут
George
kSandr
а вообще непонятно нахрен там композ
George
George
George
kSandr
подобные проблемы это прежде-всего проблемы кривой архитектуры самого пайплайна, оттого он и сделан через жопу
George
Ты прописываешь в бите либо logstash:5000 (имя контейнера логстэша). Либо внешний адрес хоста, где это все крутится (если используешь проброс портов)
Anonymous
George
Anonymous
George
netstat внутри контейнера логстэша сделай
George
По крайней мере поймёшь слушает ли он порт
Anonymous
Позновательно
Владимир
Никто не сталкивался что на голом centos 7.6 minimal свежий докер контейнеры пулит но вот между бриджем и реальной сеткой таймаут. что пинги из контейнеров не идут что открытый порт таймаутит. при этом порт открывается через /usr/bin/docker-proxy в старых версиях не помню его в процессах (вроде гдето читал что это фолбэк) если ip forward вырублен, но он врублен. файрволов нет. iptables докером обновляется и выглядит аналогично машине с centos7.3 и докером постарее где все работало
CHIP
Dima
https://stopdisablingselinux.com/
Тимур
Привет. Подскажите, пожалуйста, куда копать . При билде вылетает ошибка /bin/sh: 1: apk: not found. Использую этот образ:
FROM python:3.7.4-slim
central
Тимур
ошибка ни о чем не говорит
кусок из докерфайла
FROM python:3.7.4-slim
RUN apk add gcc musl-dev linux-headers postgresql-dev && rm -rf /var/cache/apk/*
почему не находит apk?
Vladimir
Потомучто его нет?
central
Тимур
Andrey
kSandr
# docker run --rm -ti python:3.7.4-slim cat /etc/*release* | grep NAME
PRETTY_NAME="Debian GNU/Linux 10 (buster)"
NAME="Debian GNU/Linux"
VERSION_CODENAME=buster
ваш кэп
kSandr
- Добрый день у меня неработает интернет ! я новичок тут памагити ...
- что пишет ?
- ничего черный экран и все !!!
- а вы пробовали включить компьютер ?
Serghei
Владимир
selinux?
А он разве на сеть влияет?
Владимир
kSandr
Тимур
Тимур