Acrescentei security_opt ao docker-compose e o problema desapareceu.
security_opt:
- apparmor:unconfined
Mas eu não considero essa opção uma solução completamente correta do problema.
Eu tenho um servidor doméstico com proxmox 5 instalado e alguns serviços em contêineres docker. Tudo estava bem até ontem.
Eu reiniciei o servidor e todos os serviços em todos os contêineres não podem vincular o soquete devido à permissão negada. Estou frustrado ...
Aqui alguns detalhes técnicos
Linux server 4.10.15-1-pve #1 SMP PVE 4.10.15-15 (Fri, 23 Jun 2017 08:57:55 +0200) x86_64 GNU/Linux
Docker version 18.03.0-ce, build 0520e24
docker-compose version 1.20.1, build 5d8c71b
caddy docker-compose.yml
version: '2'
services:
caddy:
container_name: caddy
image: zzrot/alpine-caddy:latest
restart: unless-stopped
network_mode: "host"
environment:
- PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
hostname: caddy
volumes:
- /etc/localtime:/etc/localtime:ro
- /mirror/config/caddy-config/certs:/root/.caddy
- /mirror/config/caddy-config/caddy:/etc/Caddyfile
docker-compose up output
root@server:~/compose/caddy# docker-compose up
Creating caddy ... done
Attaching to caddy
caddy | Activating privacy features... done.
caddy | 2018/03/23 19:55:21 listen tcp :443: socket: permission denied
caddy exited with code 1
mariadb docker-compose.yml
version: '3.1'
services:
mariadb:
container_name: mariadb
image: mariadb
restart: always
ports:
- 3306:3306/udp
- 3306:3306/tcp
environment:
- PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
- MYSQL_ROOT_PASSWORD=password
hostname: mariadb
volumes:
- /mirror/config/mariadb-config/databases:/var/lib/mysql
- /mirror/config/custom.cnf:/etc/mysql/conf.d/config-file.cnf
- /mirror/config/logs:/config/logs
docker-compose up output
mariadb_1 | 2018-03-23 13:20:36 139659836417920 [Warning] Failed to create a socket for IPv6 '::': errno: 13.
mariadb_1 | 2018-03-23 13:20:36 139659836417920 [Warning] Failed to create a socket for IPv4 '0.0.0.0': errno: 13.
mariadb_1 | 2018-03-23 13:20:36 139659836417920 [ERROR] Can't create IP socket: Permission denied
mariadb_1 | 2018-03-23 13:20:36 139659836417920 [ERROR] Aborting
mariadb_1 |
mariadb_mariadb_1 exited with code 1
Qual poderia ser o motivo disso?
Upd: alguns novos detalhes
kernel: audit: type=1400 audit(1521896913.536:10071): apparmor="DENIED" operation="create" profile="docker-default" pid=16502 comm="mysqld" family="inet" sock_type="dgram" protocol=0 requested_mask="create" denied_
audit[16271]: AVC apparmor="DENIED" operation="create" profile="docker-default" pid=16271 comm="caddy" family="inet" sock_type="dgram" protocol=0 requested_mask="create" denied_mask="create"