Я испытываю что-то странное при интеграции промысел в мою стопку
ERROR: for asmodius_promtail Cannot start service promtail: OCI runtime create failed: container_linux.go:349: starting container process caused "process_linux.go:449: container init caused \"rootfs_linux.go:58: mounting \\\"/var/lib/docker/volumes/asmodius_nginx-logs/_data\\\" to rootfs \\\"/var/lib/docker/overlay2/f6e22c4d99f1e9907a8ff4b05338386a38b9a7cd802944a877102bb805b97dac/merged\\\" at \\\"/var/lib/docker/overlay2/f6e22c4d99f1e9907a8ff4b05338386a38b9a7cd802944a877102bb805b97dac/merged/var/log/nginx\\\" caused \\\"mkdir /var/lib/docker/overlay2/f6e22c4d99f1e9907a8ff4b05338386a38b9a7cd802944a877102bb805b97dac/merged/var/log/nginx: read-only file system\\\"\"": unknown
В объем В этой ошибке упоминается тот, который я использую, чтобы promtail мог читать журналы Nginx. (Он только читает файлы и не должен ничего писать в каталоге) Вот часть docker-compose.yml
version: '3.7'
services:
nginx:
container_name: ${SERVER_NAME}_nginx
restart: always
networks:
- monitoring
- web
image: nginx:1.17.5-alpine
entrypoint: /entrypoint.sh
ports:
- 80:80
- 443:443
volumes:
- ./nginx/site.conf:/etc/nginx/conf.d/site.conf
- ./nginx/nginx.conf:/etc/nginx/nginx.conf:ro
- ./nginx/entrypoint.sh:/entrypoint.sh
- nginx-logs:/var/log/nginx
- certificates:/etc/letsencrypt/
promtail:
restart: always
container_name: ${SERVER_NAME}_promtail
image: grafana/promtail:master-b652f0a
command: -config.file=/etc/promtail/docker-config.yaml
volumes:
- nginx-logs:/var/log/nginx
- /var/log:/var/log:ro
- ./promtail/docker-config.yaml:/etc/promtail/docker-config.yaml:ro
networks:
- monitoring
и объем "осмотр"
{
"CreatedAt": "2020-04-28T20:08:41Z",
"Driver": "local",
"Labels": {
"com.docker.compose.project": "asmodius",
"com.docker.compose.version": "1.24.1",
"com.docker.compose.volume": "nginx-logs"
},
"Mountpoint": "/var/lib/docker/volumes/asmodius_nginx-logs/_data",
"Name": "asmodius_nginx-logs",
"Options": null,
"Scope": "local"
}
Как ни странно, тот самый docker-compose.yml
работает как шарм на моем Debian 9
но не работает на CentOS
Я не совсем верю, что версия docker-compose может быть проблемой. Я пробовал следующее
nginx-logs
громкость и начать снова:ro
не использовать :ro
Поскольку я не совсем понимаю ERROR
сообщение, объяснение следующих элементов может помочь мне понять, что я делаю неправильно.
read-only file system\\\"\"": unknown
: Я просто не понимаю, что "\"
являетсяmerge
? Слияние с чем?mkdir
.... поэтому он пытается создать папку где-нибудь в /var/lib/docker
. Но почему он должен делать это для этого конкретного объема, в то время как все остальные (а их довольно много) преуспевают каждый раз, когда я docker-compose up -d --force-recreate
(так я добавляю / обновляю сервисы на этой машине)Все идеи приветствуются