1Panel icon indicating copy to clipboard operation
1Panel copied to clipboard

[BUG]无法正确的检测docker运行状态

Open shiyeshu opened this issue 2 years ago • 6 comments

联系方式

[email protected]

1Panel 版本

1.2.2

问题描述

无法正确的检测docker运行状态

面板中显示docker已停止,但实际上docker正常运行

重现步骤

image image image

系统版本:postmarketos/alpine-3.17.3 image

alpine使用rc而不是systemctl,是不是可能因为这个的原因?(也是因为这个原因不能控制docker)

期待的正确结果

No response

相关日志输出

No response

附加信息

No response

shiyeshu avatar May 13 '23 09:05 shiyeshu

感谢反馈,1Panel 检测 Docker 运行状态是使用的 systemctl,就是这里的问题。 我们目前还没有适配 alpine 操作系统,后续版本我们优化一下吧。

wanghe-fit2cloud avatar May 13 '23 12:05 wanghe-fit2cloud

@wanghe-fit2cloud 同样问题也存在于 wsl2 中

wsl2 已经配置好,systemd win11 中安装的docker desktop 并开启与wsl2 集成使用

在wsl 中可以正常使用docker ,但在面板中 检测不到docker 运行状态,也无法启动docker

van-chin avatar May 13 '23 12:05 van-chin

@wanghe-fit2cloud 同样问题也存在于 wsl2 中

wsl2 已经配置好,systemd win11 中安装的docker desktop 并开启与wsl2 集成使用

在wsl 中可以正常使用docker ,但在面板中 检测不到docker 运行状态,也无法启动docker

可以参考 文档

wanghe-fit2cloud avatar May 13 '23 13:05 wanghe-fit2cloud

@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

image-20230514093207563

安装 Docker Desktop

Docker Desktop 版本为 4.19 (106363) ,并勾选了 Use WSL 2

image-20230514093644235

image-20230514094739777

重启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

image-20230514100030534

image-20230514100156308

image-20230514100310972

image-20230514100356972

image-20230514100438415

Failed to start docker.service: Unit docker.service not found.

希望1panel团队 对 wsl2 中使用docker desktop for windows 的使用场景进行一下更多测试及支持 ,

或提供一些解决的思路

感谢

van-chin avatar May 14 '23 02:05 van-chin

后面版本我们会尝试通过 Docker SDK 来获取运行状态,不再依赖 systemd。

wanghe-fit2cloud avatar May 15 '23 08:05 wanghe-fit2cloud

赞,期待早点,完成用 Docker SDK 完成替换

van-chin avatar May 17 '23 03:05 van-chin

v1.3.0 版本已发布。

wanghe-fit2cloud avatar Jun 08 '23 09:06 wanghe-fit2cloud

使用脚本, 在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 服务启动出错!

Jackiexiao avatar May 02 '24 04:05 Jackiexiao