Docker无法删除默认网络:容器停止权限不足问题求助
问题:执行docker-compose down时权限拒绝且无法移除网络
环境与配置
容器启动后运行正常,使用的docker-compose.yml配置如下:
services: db: container_name: postgresql environment: POSTGRES_DB: sonar POSTGRES_PASSWORD: sonar POSTGRES_USER: sonar hostname: postgresql image: postgres:13 volumes: - postgresql:/var/lib/postgresql:rw - postgresql_data:/var/lib/postgresql/data:rw jenkins: container_name: jenkins image: jenkins/jenkins:lts ports: - published: 8080 target: 8080 - published: 50000 target: 50000 privileged: true user: root volumes: - /home/jenkins_compose/jenkins_configuration:/var/jenkins_home:rw - /var/run/docker.sock:/var/run/docker.sock:rw sonarqube: container_name: sonarqube depends_on: db: condition: service_started environment: SONAR_JDBC_PASSWORD: sonar SONAR_JDBC_URL: jdbc:postgresql://db:5432/sonar SONAR_JDBC_USERNAME: sonar hostname: sonarqube image: sonarqube:community ports: - published: 9000 target: 9000 volumes: - sonarqube_data:/opt/sonarqube/data:rw - sonarqube_extensions:/opt/sonarqube/extensions:rw - sonarqube_logs:/opt/sonarqube/logs:rw sonatype: image: sonatype/nexus3 ports: - published: 8081 target: 8081 volumes: - sonatype-data:/data/db:rw version: '3.8' volumes: postgresql: driver: local postgresql_data: driver: local sonarqube_data: driver: local sonarqube_extensions: driver: local sonarqube_logs: driver: local sonatype-data: driver: local
错误现象
执行docker-compose down停止容器时,出现以下错误:
Stopping sonarqube ... error Stopping postgresql ... error Stopping udamy-project_sonatype_1 ... error Stopping jenkins ... done ERROR: for udamy-project_sonatype_1 cannot stop container: b08e68f7e56a6a3ce7151ec7c867e8a4047350f9f95c290b6b59ca52d7213e1a: permission denied ERROR: for sonarqube cannot stop container: 89d8a8f75b36fdcb26e62d046dfb5d6ab9158f85d3cb5ef688968cade677b6fe: permission denied Removing jenkins ... done Removing network udamy-project_default ERROR: error while removing network: network udamy-project_default id 94c01d2783cc2d34b4e917dd0f09ff5d0428b67ba1498277d9e9e132205dfb64 has active endpoints
已尝试操作
- 按照Docker官方文档配置权限并重启Ubuntu 22.04系统
- 尝试多种配置组合,问题未解决
解决步骤
1. 强制处理异常容器
直接使用docker命令绕过docker-compose的权限限制,强制停止并删除容器:
# 强制停止目标容器 sudo docker stop postgresql sonarqube udamy-project_sonatype_1 # 强制删除容器 sudo docker rm postgresql sonarqube udamy-project_sonatype_1
2. 清理残留网络
确认容器已全部删除后,清理残留的docker网络:
# 查看网络详情,确认无活跃端点 sudo docker network inspect udamy-project_default # 强制删除网络 sudo docker network rm udamy-project_default
3. 修复Docker权限问题
- 检查当前用户是否在docker用户组:
groups $USER
若输出中无docker组,执行以下命令添加并生效:
sudo usermod -aG docker $USER # 注销后重新登录,或临时生效 newgrp docker
- 检查并修复
docker.sock权限:
ls -l /var/run/docker.sock
正确权限应为srw-rw----,所属组为docker,异常则修复:
sudo chown root:docker /var/run/docker.sock sudo chmod 660 /var/run/docker.sock
4. 后续操作建议
后续执行docker-compose命令时,若仍遇权限问题,直接使用sudo提升权限:
sudo docker-compose up -d sudo docker-compose down
内容的提问来源于stack exchange,提问作者Mayur Dagdi
相关产品推荐
相关产品推荐

