Docker portainer 无法访问 localhost 9000

问题描述 投票:0回答:1

我正在尝试通过运行

docker run -d -p 8000:8000 -p 9000:9000 --name portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:latest
来创建容器。

容器已创建,但无法使用

localhost:9000
localhost:9443

访问 portainer ui 页面
2024/02/26 08:04PM INF github.com/portainer/portainer/api/cmd/portainer/main.go:369 > encryption key file not present | filename=portainer
2024/02/26 08:04PM INF github.com/portainer/portainer/api/cmd/portainer/main.go:392 > proceeding without encryption key |
2024/02/26 08:04PM INF github.com/portainer/portainer/api/database/boltdb/db.go:125 > loading PortainerDB | filename=portainer.db
2024/02/26 08:04PM INF github.com/portainer/portainer/api/chisel/service.go:198 > Found Chisel private key file on disk | private-key=/data/chisel/private-key.pem
2024/02/26 20:04:13 server: Reverse tunnelling enabled
2024/02/26 20:04:13 server: Fingerprint B09pAAGL+wIvi8Ukimf5BoqtdSCmY5eD+fOp9ANHVb8=
2024/02/26 20:04:13 server: Listening on http://0.0.0.0:8000
2024/02/26 08:04PM WRN github.com/portainer/portainer/api/platform/platform.go:70 > failed to retrieve docker info | error="Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?"
2024/02/26 08:04PM INF github.com/portainer/portainer/api/cmd/portainer/main.go:649 > starting Portainer | build_number=35428 go_version=1.20.5 image_tag=linux-amd64-2.19.4 nodejs_version=18.19.0 version=2.19.4 webpack_version=5.88.1 yarn_version=1.22.21
2024/02/26 08:04PM INF github.com/portainer/portainer/api/http/server.go:357 > starting HTTPS server | bind_address=:9443
2024/02/26 08:04PM INF github.com/portainer/portainer/api/http/server.go:341 > starting HTTP server | bind_address=9000:9000
2024/02/26 08:04PM ERR github.com/portainer/portainer/api/http/server.go:352 > HTTP server failed to start | error="listen tcp: lookup 9000: no such host"
2024/02/26 08:09PM INF github.com/portainer/portainer/api/adminmonitor/admin_monitor.go:62 > the Portainer instance timed out for security purposes, to re-enable your Portainer instance, you will need to restart Portainer |localhost:9000 or localhost:9443

localhost:9000 - Hmmm… can't reach this page localhost refused to connect.
localhost:9443 - Client sent an HTTP request to an HTTPS server.
docker localhost portainer
1个回答
0
投票

您的日志中有两个错误:

  • “无法连接到位于 unix:///var/run/docker.sock 的 Docker 守护进程。docker 守护进程是否正在运行?”和
  • “监听 tcp:查找 9000:没有这样的主机”。

很明显,体积安装

/var/run/docker.sock
对于运行Portainer至关重要。

如果我跑步

docker run --rm --name portainer \
  -v /var/run/docker.sock:/var/run/docker.sock \
  portainer/portainer-ce:latest

然后它会顺利启动,但如果我删除卷安装

docker run --rm --name portainer \
  portainer/portainer-ce:latest

然后我得到了和你一样的错误:

Cannot connect to the Docker daemon at unix:///var/run/docker.sock.
Is the docker daemon running?

这是有道理的:Portainer 需要一种连接到 Docker 守护进程的方法,那就是通过 Docker 套接字。

您检查过 Docker 守护进程是否正在您的计算机上运行吗?

$ systemctl status docker
● docker.service - Docker Application Container Engine
     Loaded: loaded (/lib/systemd/system/docker.service; enabled; preset: enabled)
     Active: active (running) since Tue 2024-02-27 05:18:08 GMT; 3s ago
TriggeredBy: ● docker.socket
       Docs: https://docs.docker.com
   Main PID: 16408 (dockerd)
      Tasks: 30
     Memory: 37.9M
        CPU: 671ms
     CGroup: /system.slice/docker.service
             └─16408 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

但这似乎并不是一个严重错误:即使我不共享套接字,我仍然可以在端口 9000 上连接到 Portainer。

所以我认为第二个错误(“listen tcp:lookup 9000:没有这样的主机”)是这种情况下的关键错误。老实说,我不确定您为什么会收到此错误。但是您可以尝试一下该命令的精简版本吗:

docker run --rm --name portainer \
  -v /var/run/docker.sock:/var/run/docker.sock \
  portainer/portainer-ce:latest

您还看到第二个错误吗>?抱歉,我知道这不是一个“答案”,但希望能给您一些尝试的机会。如果您可以提供一些反馈,那么我很乐意进行迭代。否则希望其他人能够发现问题。

© www.soinside.com 2019 - 2024. All rights reserved.