[BUG]无法正确的检测docker运行状态
联系方式
1Panel 版本
1.2.2
问题描述
无法正确的检测docker运行状态
面板中显示docker已停止,但实际上docker正常运行
重现步骤
系统版本:postmarketos/alpine-3.17.3
alpine使用rc而不是systemctl,是不是可能因为这个的原因?(也是因为这个原因不能控制docker)
期待的正确结果
No response
相关日志输出
No response
附加信息
No response
感谢反馈,1Panel 检测 Docker 运行状态是使用的 systemctl,就是这里的问题。 我们目前还没有适配 alpine 操作系统,后续版本我们优化一下吧。
@wanghe-fit2cloud 同样问题也存在于 wsl2 中
wsl2 已经配置好,systemd win11 中安装的docker desktop 并开启与wsl2 集成使用
在wsl 中可以正常使用docker ,但在面板中 检测不到docker 运行状态,也无法启动docker
@wanghe-fit2cloud 同样问题也存在于 wsl2 中
wsl2 已经配置好,systemd win11 中安装的docker desktop 并开启与wsl2 集成使用
在wsl 中可以正常使用docker ,但在面板中 检测不到docker 运行状态,也无法启动docker
可以参考 文档
@wanghe-fit2cloud
你给的参考 https://devblogs.microsoft.com/commandline/systemd-support-is-now-available-in-wsl/
是如何让WSL 支持 Systemd ,这一步我已经完成了,不是 systemd 支持的原因
我是按如下操作的
WSL 安装 1Panel
环境信息
wsl -l -v
Windows Subsystem for Linux has no installed distributions.
Use 'wsl.exe --list --online' to list available distributions
and 'wsl.exe --install <Distro>' to install.
Distributions can also be installed by visiting the Microsoft Store:
https://aka.ms/wslstore
Error code: Wsl/WSL_E_DEFAULT_DISTRO_NOT_FOUND
wsl --version
WSL version: 1.2.5.0
Kernel version: 5.15.90.1
WSLg version: 1.0.51
MSRDC version: 1.2.3770
Direct3D version: 1.608.2-61064218
DXCore version: 10.0.25131.1002-220531-1700.rs-onecore-base2-hyp
Windows version: 10.0.22621.1702
安装WSL2
wsl --install -d Debian
启用systemd
Debian 安装后,系统并不支持 systemd
参考 https://devblogs.microsoft.com/commandline/systemd-support-is-now-available-in-wsl/ 文档操作支持systemd
echo -e "[boot]\nsystemd=true" | sudo tee -a /etc/wsl.conf
## 重启wsl
wsl --shutdown
### 重新进入wsl 检测systemd
ps --no-headers -o comm 1
systemd
systemctl list-units --type=service
安装 Docker Desktop
Docker Desktop 版本为 4.19 (106363) ,并勾选了 Use WSL 2
重启Docker Desktop, 进入wsl 中,可以正常使用docker 相关指令
van@Van-Surface:/mnt/d/Users/Van$ docker version
Client: Docker Engine - Community
Cloud integration: v1.0.31
Version: 23.0.5
API version: 1.42
Go version: go1.19.8
Git commit: bc4487a
Built: Wed Apr 26 16:17:45 2023
OS/Arch: linux/amd64
Context: default
Server: Docker Desktop
Engine:
Version: 23.0.5
API version: 1.42 (minimum version 1.12)
Go version: go1.19.8
Git commit: 94d3ad6
Built: Wed Apr 26 16:17:45 2023
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.6.20
GitCommit: 2806fc1057397dbaeefbea0e4e17bddfbd388f38
runc:
Version: 1.1.5
GitCommit: v1.1.5-0-gf19387a
docker-init:
Version: 0.19.0
GitCommit: de40ad0
但这个地方会有一个问题是在wsl 中是找不到docker 的相关服务的
root@Van-Surface:/mnt/d/Users/Van# systemctl status docker
Unit docker.service could not be found.
再后面安装好 1Panel, 在面板中也无法检测和启动docker
安装1Panel
### 在线安装 (Debian)
curl -sSL https://resource.fit2cloud.com/1panel/package/quick_start.sh -o quick_start.sh && bash quick_start.sh
Failed to start docker.service: Unit docker.service not found.
希望1panel团队 对 wsl2 中使用docker desktop for windows 的使用场景进行一下更多测试及支持 ,
或提供一些解决的思路
感谢
后面版本我们会尝试通过 Docker SDK 来获取运行状态,不再依赖 systemd。
赞,期待早点,完成用 Docker SDK 完成替换
v1.3.0 版本已发布。
使用脚本, 在window wsl2 中安装存在问题,似乎现在还不是通过 docker sdk 检测的? (wsl2 docker 能正常使用)
curl -sSL https://resource.fit2cloud.com/1panel/package/quick_start.sh -o quick_start.sh && sudo bash quick_start.sh
日志
Failed to start 1panel.service: Transport endpoint is not connected
See system logs and 'systemctl status 1panel.service' for details.
[1Panel Log]: 1Panel 服务启动出错!