Docker 错误在 discourse 安装过程中

有人能帮我解决这个问题吗?我尝试了几次,但一直遇到这个错误。
我甚至先尝试安装了 Docker,然后按照标准安装方法操作,但仍然无法继续,卡在了这里。

root@subsdeal:/var/discourse# ./discourse-setup
/usr/bin/docker
在您的 PATH 中未找到 docker.io 或 docker。
按 Enter 从 https://get.docker.com/ 安装 Docker,或按 Ctrl+C 退出
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 15742  100 15742    0     0   101k      0 --:--:-- --:--:-- --:--:--  101k
# 正在执行 Docker 安装脚本,提交哈希:28bc4d09b3938ea30c69407d198ee8ece52c3e12
警告:系统中似乎已存在 "docker" 命令。

如果您已经安装了 Docker,此脚本可能会导致问题,因此我们显示此警告并提供取消安装的机会。

如果您使用此脚本安装了当前的 Docker 包并再次使用它来更新 Docker,可以安全地忽略此消息。

您现在可以按 Ctrl+C 中止此脚本。
+ sleep 20
+ sh -c apt-get update -qq > /dev/null
+ sh -c DEBIAN_FRONTEND=noninteractive apt-get install -y -qq apt-transport-https ca-certificates curl > /dev/null
+ sh -c curl -fsSL "https://download.docker.com/linux/ubuntu/gpg" | gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
+ sh -c echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu focal stable" > /etc/apt/sources.list.d/docker.list
+ sh -c apt-get update -qq > /dev/null
+ sh -c DEBIAN_FRONTEND=noninteractive apt-get install -y -qq --no-install-recommends docker-ce-cli docker-scan-plugin docker-ce > /dev/null
+ version_gte 20.10
+ [ -z  ]
+ return 0
+ sh -c DEBIAN_FRONTEND=noninteractive apt-get install -y -qq docker-ce-rootless-extras > /dev/null
+ sh -c docker version
Client: Docker Engine - Community
 Version:           20.10.8
 API version:       1.41
 Go version:        go1.16.6
 Git commit:        3967b7d
 Built:             Fri Jul 30 19:54:27 2021
 OS/Arch:           linux/amd64
 Context:           default
 Experimental:      true

Server: Docker Engine - Community
 Engine:
  Version:          20.10.8
  API version:      1.41 (minimum version 1.12)
  Go version:       go1.16.6
  Git commit:       75249d8
  Built:            Fri Jul 30 19:52:33 2021
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.4.6
  GitCommit:        d71fcd7d8303cbf684402823e425e9dd2e99285d
 runc:
  Version:          1.0.0-rc95
  GitCommit:        b9ee9c6314599f1b4a7f497e1f1f856fe433d3b7
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0

================================================================================

要以非特权用户身份运行 Docker,请考虑为您的用户以 rootless 模式设置 Docker 守护进程:

    dockerd-rootless-setuptool.sh install

访问 https://docs.docker.com/go/rootless/ 了解 rootless 模式。


要以完全特权的守护进程方式运行 Docker,但允许非 root 用户访问,请参阅 https://docs.docker.com/go/daemon-access/

警告:在特权 Docker 守护进程上访问远程 API 等同于在主机上拥有 root 权限。有关详细信息,请参阅“Docker 守护进程攻击面”文档:https://docs.docker.com/go/attack-surface/

================================================================================

/usr/bin/docker
仍未在您的 PATH 中找到 docker.io 或 docker。
Docker 安装失败。正在退出。
root@subsdeal:/var/discourse#

谢谢

1 个赞

你正在使用哪个发行版?@uckelman 提交了一个 PR 修改了 Docker 检测逻辑,该 PR 今天刚刚被合并,这条消息就来自该 PR,因此可能与此相关。

1 个赞

哦,等一下。我知道问题出在哪了。我马上提交修复。

2 个赞

PR:FIX: Use the return code from which correctly by uckelman · Pull Request #557 · discourse/discourse_docker · GitHub

4 个赞

感谢跟进,@uckelman

@UnicornX 你能试试吗:

cd /var/discourse
git pull
./discourse-setup
2 个赞

现在运行正常 @Falco
谢谢

2 个赞

安装时我也遇到了同样的错误,但还是按了回车键(在 Ubuntu 22.04.1 LTS 上),这是我的主题和组件现在无法工作的(原因)吗?(参见 https://meta.discourse.org/t/light-theme-broke-with-update/160596/17?u=sjefromijn