我已经运行了几个月的基于码头的环境,通过docker -组合进行了配置,并尝试将新的Radarr/Tdarr容器添加到配置中。当重新运行docker-复合命令时,它将返回一个拒绝权限的错误,如下所示:
dhevans@ubuntu:/htpc-svc$ sudo docker-compose pull && docker-compose up -d
Pulling plex-server ... done
Pulling homeassistant ... done
Pulling node-red ... done
Pulling watchtower ... done
Pulling radarr ... done
Pulling tdarr ... done
Traceback (most recent call last):
File "urllib3/connectionpool.py", line 677, in urlopen
File "urllib3/connectionpool.py", line 392, in _make_request
File "http/client.py", line 1277, in request
File "http/client.py", line 1323, in _send_request
File "http/client.py", line 1272, in endheaders
File "http/client.py", line 1032, in _send_output
File "http/client.py", line 972, in send
File "docker/transport/unixconn.py", line 43, in connect
PermissionError: [Errno 13] Permission denied
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "requests/adapters.py", line 449, in send
File "urllib3/connectionpool.py", line 727, in urlopen
File "urllib3/util/retry.py", line 410, in increment
File "urllib3/packages/six.py", line 734, in reraise
File "urllib3/connectionpool.py", line 677, in urlopen
File "urllib3/connectionpool.py", line 392, in _make_request
File "http/client.py", line 1277, in request
File "http/client.py", line 1323, in _send_request
File "http/client.py", line 1272, in endheaders
File "http/client.py", line 1032, in _send_output
File "http/client.py", line 972, in send
File "docker/transport/unixconn.py", line 43, in connect
urllib3.exceptions.ProtocolError: ('Connection aborted.', PermissionError(13, 'Permission denied'))
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "docker/api/client.py", line 214, in _retrieve_server_version
File "docker/api/daemon.py", line 181, in version
File "docker/utils/decorators.py", line 46, in inner
File "docker/api/client.py", line 237, in _get
File "requests/sessions.py", line 543, in get
File "requests/sessions.py", line 530, in request
File "requests/sessions.py", line 643, in send
File "requests/adapters.py", line 498, in send
requests.exceptions.ConnectionError: ('Connection aborted.', PermissionError(13, 'Permission denied'))
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "docker-compose", line 3, in <module>
File "compose/cli/main.py", line 81, in main
File "compose/cli/main.py", line 200, in perform_command
File "compose/cli/command.py", line 70, in project_from_options
File "compose/cli/command.py", line 153, in get_project
File "compose/cli/docker_client.py", line 43, in get_client
File "compose/cli/docker_client.py", line 170, in docker_client
File "docker/api/client.py", line 197, in __init__
File "docker/api/client.py", line 222, in _retrieve_server_version
docker.errors.DockerException: Error while fetching server API version: ('Connection aborted.', PermissionError(13, 'Permission denied'))
[2464] Failed to execute script docker-compose在测试这些容器时,我从复合文件中删除了新的图像,但它仍然返回错误。这将向我表明,这与新容器无关,而是与不再起作用的Docker有关。
如果我运行sudo docker-compose up或sudo docker-compose up radarr,容器就可以正常启动,并且能够远程访问web服务。在我杀了命令之前,他们能正常工作。这将向我表明,图像或配置没有真正的问题,但是有一些东西阻止我让我的停靠程序编写文件正确地启动整个配置。
version: "3.4"
services:
plex-server:
container_name: plex-server
image: linuxserver/plex
restart: unless-stopped
environment:
- PUID=${PUID} # default user id, defined in .env
- PGID=${PGID} # default group id, defined in .env
- TZ=${TZ} # timezone, defined in .env
- VERSION=docker
network_mode: host
volumes:
- ${ROOT}/config/plex/db:/config # plex database
- ${ROOT}/data/config/plex/transcode:/transcode # temp transcoded files
- /mnt/elements:/elements
- /mnt/expansion:/expansion
homeassistant:
container_name: homeassistant
image: "ghcr.io/home-assistant/home-assistant:stable"
volumes:
- ${ROOT}/config/homeassistant:/config
- /etc/localtime:/etc/localtime:ro
- /var/run/docker.sock:/var/run/docker.sock
restart: unless-stopped
privileged: true
network_mode: host
node-red:
image: nodered/node-red:latest
restart: always
depends_on:
- "homeassistant"
user: root
environment:
- TZ=Europe/Zurich
# ports:
# - "1880:1880"
network_mode: host
volumes:
- ${ROOT}/config/nodered:/data
- /etc/localtime:/etc/localtime:ro
watchtower:
container_name: watchtower
image: v2tec/watchtower
network_mode: host
environment:
- LOG_LEVEL=info
- PUID=${PUID} # default user id, defined in .env
- PGID=${PGID} # default group id, defined in .env
- TZ=${TZ} # timezone, defined in .env
- UMASK=022 #optional
restart: always
volumes:
- /var/run/docker.sock:/var/run/docker.sock
radarr:
container_name: radarr
image: cr.hotio.dev/hotio/radarr
network_mode: bridge
ports:
- "7878:7878"
environment:
- PUID=${PUID}
- PGID=${PGID}
- UMASK=002
- TZ=${TZ}
volumes:
- ${ROOT}/config/radarr:/config # plex database
- /mnt/elements:/elements
- /mnt/expansion:/expansion
tdarr:
container_name: tdarr
image: ghcr.io/haveagitgat/tdarr:latest
restart: unless-stopped
network_mode: bridge
ports:
- 8265:8265 # webUI port
- 8266:8266 # server port
# - 8267:8267 # Internal node port
# - 8268:8268 # Example extra node port
environment:
- TZ=${TZ}
- PUID=${PUID}
- PGID=${PGID}
- UMASK_SET=002
- serverIP=0.0.0.0
- serverPort=8266
- webUIPort=8265
- internalNode=true
- nodeID=MyInternalNode
volumes:
- ${ROOT}/config/tdarr/server:/app/server
- ${ROOT}/config/tdarr/config:/app/configs
- ${ROOT}/config/tdarr/logs:/app/logs
- ${ROOT}/data/tdarr/transcode_cache:/temp
- /mnt/elements:/elements
- /mnt/expansion:/expansion试图添加新的容器到码头-合成。总是会犯错误。移除新容器,仍会收到错误。旧网站仍然有效,新网站只能通过docker-compose-up工作。一切都像苏多一样。请告诉我我做错了什么,或者看看我的头撞在砖墙上已经有几个小时了。
发布于 2022-05-03 14:45:44
您首先得到的错误似乎不是海星虫,但是在没有sudo的情况下运行docker-compose时(因为Docker守护进程套接字属于root:docker),它应该是可重复的。
更准确地说,错误与执行命令有关:
sudo docker-compose pull && docker-compose up -d #(1.)它的语义与
sudo /bin/bash -c "docker-compose pull && docker-compose up -d" #(2.)因此,命令1.的1.部分是在没有根权限的情况下运行的。
因此,如果您想在不运行额外bash进程的情况下将两者结合起来,则只需运行:
sudo docker-compose pull && sudo docker-compose up -d另外,请注意,可以至少以两种方式从Docker命令中“删除”sudo前缀:加入docker组(在个人工作站上可能有风险),或者使用bash别名;参见docker.sock permission denied。
https://stackoverflow.com/questions/72070643
复制相似问题