linux-ubuntu里docker的容器portainer容器建立后如何打开?

映射

powershell 复制代码
root@takashi4-virtual-mach:/docker# docker ps -a | grep portainer
9c063d729fcc   portainer/portainer-ce:latest   "/portainer"   24 minutes ago   Up 24 minutes   8000/tcp, 9443/tcp, 0.0.0.0:9999->9000/tcp, :::9999->9000/tcp   portainer

端口映射配置错误

docker ps 显示容器端口映射为 0.0.0.0:9999->9000(而非预期的 9000→9000),说明容器内部的 9000 端口被映射到了宿主机的 9999 端口。

这意味着您必须通过 宿主IP:9999 而非默认的 9000 端口访问 Portainer。

网络

powershell 复制代码
root@takashi4-virtual-mach:/docker# ip a show | grep "inet " | grep -v "127.0.0.1"
    inet 192.168.100.116/24 brd 192.168.100.255 scope global dynamic noprefixroute ens33
    inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0

网络与防火墙状态正常

宿主机 IP 为 192.168.100.116(ens33 网卡),防火墙未启用(ufw status: inactive)

Docker 网桥 docker0(172.17.0.1/16)与容器通信正常,iptables 未拦截流量。

打开

因此从宿主机:http://192.168.100.116:9999/ 访问这个即可打开portainer窗口。

捣鼓了半天,终于打开了,但是提示:

连接又超时了。

安全超时机制 Portainer 首次安装后必须在 15分钟内 完成初始化设置(创建管理员账号+连接 Docker

环境),否则会触发安全锁定。 用户操作延迟 您的容器已运行 24 分钟(Up 24 minutes),远超安全窗口期。

步骤 1:强制重启 Portainer 容器

删除现有容器(保留数据卷)

powershell 复制代码
docker stop portainer && docker rm portainer

重新启动容器(复用原数据卷)

powershell 复制代码
docker run -d   --name portainer   -p 9999:9000     -v /var/run/docker.sock:/var/run/docker.sock   -v portainer_data:/data   --restart unless-stopped   portainer/portainer-ce:latest

步骤 2:立即完成初始化

浏览器访问 http://192.168.100.116:9999(使用您查询到的虚拟机 IP)

15分钟内 完成以下操作:

创建管理员账号(用户名/密码)

选择 "Local" 连接当前宿主机 Docker

haohaohao好好好

密码还挺长要求。