gpt4 book ai didi

Dockerfile, 如何安装 snap, snapd : unrecognized service

转载 作者:行者123 更新时间:2023-12-02 17:59:10 25 4
gpt4 key购买 nike

好吧,我的 Dockerfile 出了点问题,实际上我尝试安装 snapd在几乎所有版本的 Debian 和 Ubuntu 上。
当我尝试启动命令时出现此错误error: cannot communicate with server: Post http://localhost/v2/snaps/rocketchat-server: dial unix /run/snapd.socket: connect: no such file or directory 于是尝试查看服务是否开启,没有服务叫snapd ,即使我尝试从 systemctl systemctl start snapd 开始, 我有一个错误Failed to connect to bus: No such file or directory所以我安装了dbus ,当我现在再试一次时,我遇到了这个错误Failed to start snapd.service: Launch helper exited with unknown return code 1我尝试使用 service 或 journalctl 启动服务,它显示snapd: unrecognized service当我列出我的所有服务时,我有这个

 [ - ]  apparmor

[ - ] bootmisc.sh

[ - ] checkfs.sh

[ - ] checkroot-bootclean.sh

[ - ] checkroot.sh

[ + ] dbus

[ - ] hostname.sh

[ ? ] hwclock.sh

[ - ] killprocs

[ - ] mountall-bootclean.sh

[ - ] mountall.sh

[ - ] mountdevsubfs.sh

[ - ] mountkernfs.sh

[ - ] mountnfs-bootclean.sh

[ - ] mountnfs.sh

[ ? ] ondemand

[ - ] procps

[ - ] rc.local

[ - ] sendsigs

[ + ] udev

[ - ] umountfs

[ - ] umountnfs.sh

[ - ] umountroot

[ - ] urandom

FROM ubuntu:16.04

RUN apt-get update && apt-get -y upgrade &&\
apt-get install -y snap snapd

RUN snap install rocketchat-server
#"error: cannot communicate with server: Post #http://localhost/v2/snaps/rocketchat-server: dial unix #/run/snapd.socket: connect: no such file or directory"

RUN snap --version
#snap 2.40
#snapd unavailable
#series -

EXPOSE 3000

ENTRYPOINT Server is running .... && tail -f /dev/null
我知道使用 docker 玩服务不好,但我不知道如何改进我的 Dockerfile,我从 Rocketchat doc debian 开始,然后是 ubuntu,然后是 snap(因为它更容易),所有这些我都得到了这个错误。

最佳答案

首先,您不想安装“snap”包,因为它与“snapd”无关。
其次,我偶然发现了在 docker 容器中安装 snapd 的问题:
TLDR;目前不支持以这种方式运行 snapd。
但这个问题已经在 snapcraft 论坛上提出过。
snapd 的依赖项之一是 systemd,如果不重新启动或重新登录,则 snapd-service 无法正确初始化。根据所有发行版的文档,这是所需的过程,但显然不是 docker 中的选项。
至少这个悬而未决的问题最能复制你的问题:
unable-to-install-snapcraft-snap-in-docker-image-ubuntu-19-10
和埃文 at the snapcraft forum here发布了一种方法,我也无法上类。
唯一可行的方法类似于在 docker 内部运行 docker,即:

  • 在 docker 主机上安装 snapd
  • 在运行时将 snapd-socket 挂载到已安装 snapd 的容器中。

  • 但同样 warnings/side-effects适用于运行 docker-in-docker。

    关于Dockerfile, 如何安装 snap, snapd : unrecognized service,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58385340/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com