LJason77 / bilibili-webhook

自动下载 B站 视频
GNU General Public License v3.0
107 stars 13 forks source link

无法成功build镜像 #3

Closed kingchun closed 1 year ago

kingchun commented 1 year ago

日志

~/bilibili-webhook# docker build -t bilibili-webhook .
[+] Building 93.8s (11/17)
[+] Building 94.0s (11/17)
[+] Building 94.1s (11/17)
[+] Building 138.0s (11/17)
[+] Building 155.1s (12/17)
 => [internal] load build definition from Dockerfile                                                                                                   0.0s
 => => transferring dockerfile: 825B                                                                                                                   0.0s
 => [internal] load .dockerignore                                                                                                                      0.0s
 => => transferring context: 80B                                                                                                                       0.0s
 => [internal] load metadata for docker.io/library/alpine:latest                                                                                      15.3s
 => [internal] load metadata for docker.io/library/rust:alpine                                                                                         0.3s
 => [internal] load build context                                                                                                                      0.0s
 => => transferring context: 2.40kB                                                                                                                    0.0s
 => [builder 1/5] FROM docker.io/library/rust:alpine@sha256:b0b3eb57c3f385499dca593a021e848167f7130a22b41818b7bbf4bdf8bba670                           0.0s
 => [stage-1 1/7] FROM docker.io/library/alpine:latest@sha256:21a3deaa0d32a8057914f36584b5288d2e5ecc984380bc0118285c70fa8c9300                         0.0s
 => CACHED [stage-1 2/7] WORKDIR /app                                                                                                                  0.0s
 => CACHED [builder 2/5] RUN apk add -qq --repository=https://mirrors.tuna.tsinghua.edu.cn/alpine/edge/community/ musl-dev libc6-compat openssl-dev s  0.0s
 => CACHED [builder 3/5] WORKDIR /app                                                                                                                  0.0s
 => CACHED [builder 4/5] COPY . .                                                                                                                      0.0s
 => ERROR [builder 5/5] RUN RUSTFLAGS="-C target-cpu=native" cargo build --release -q                                                                139.7s
------
 > [builder 5/5] RUN RUSTFLAGS="-C target-cpu=native" cargo build --release -q:
#0 138.3 error: package `bilibili-webhook v0.1.6 (/app)` cannot be built because it requires rustc 1.62 or newer, while the currently active rustc version is 1.57.0
------
Dockerfile:9
--------------------
   7 |     COPY . .
   8 |
   9 | >>> RUN RUSTFLAGS="-C target-cpu=native" cargo build --release -q
  10 |
  11 |     FROM alpine:latest
--------------------
ERROR: failed to solve: process "/bin/sh -c RUSTFLAGS=\"-C target-cpu=native\" cargo build --release -q" did not complete successfully: exit code: 101

当我使用vps build 成功后拉下来 一直没办法运行

CONTAINER ID   IMAGE                       COMMAND                   CREATED         STATUS                            PORTS     NAMES
810b943bc353   9914609bf58b                "/bin/sh -c bilibili…"   7 minutes ago   Restarting (132) 54 seconds ago             bilibili-webhook
LJason77 commented 1 year ago

日志已经给出问题所在了:

package bilibili-webhook v0.1.6 (/app) cannot be built because it requires rustc 1.62 or newer, while the currently active rustc version is 1.57.0

升级一下 rust:alpine 镜像便可。

kingchun commented 1 year ago

谢谢我解决了这个问题 但是又出现了其他的问题 是我权限创建出现的问题吗 我把挂载的目录设置为777了还是报错这个selinux也关闭了

Error: Os { code: 2, kind: NotFound, message: "No such file or directory" }
2023-04-20 13:50:05 [INFO] RUA!
log4rs: error deserializing appender output: Permission denied (os error 13)
log4rs: Reference to nonexistent appender: `output`
2023-04-20 13:50:07 [INFO] RUA!
Error: Os { code: 2, kind: NotFound, message: "No such file or directory" }
log4rs: error deserializing appender output: Permission denied (os error 13)
log4rs: Reference to nonexistent appender: `output`
Error: Os { code: 2, kind: NotFound, message: "No such file or directory" }
2023-04-20 13:50:11 [INFO] RUA!
LJason77 commented 1 year ago

No such file or directory 是不存在这个路径,可以用 mkdir 先创建路径。

kingchun commented 1 year ago

我应该创建那个 文件夹呀 我创建了我挂载的文件夹

[[feed]]
url = "https://rsshub.app/bilibili/user/video/96639395"
interval = 60
option = "--danmaku=no --playlist-type=no --disable-proxy"
path = "bilibili/Academia"
update = false

这个path也创建了 在挂载目录下 问题还是依旧

LJason77 commented 1 year ago

外部路径是:<挂载点>/bilibili/Academia,内部容器路径是: /app/downloads/bilibili/Academia,可以看看路径存不存在。 顺便再看看容器内:/app/config/config.toml 配置文件存不存在。

kingchun commented 1 year ago

谢谢 大佬是我目录映射错了 现在能看到日志不提示错误了 但是启动了 好像并没有下载文件 还一直在重启

CONTAINER ID   IMAGE              COMMAND                   CREATED          STATUS                            PORTS                                       NAMES
4b66dc7beeac   bilibili-webhook   "/bin/sh -c bilibili…"   12 minutes ago   Restarting (139) 35 seconds ago                                               bilibili-webhook
LJason77 commented 1 year ago

docker logs bilibili-webhook 看看日志。

kingchun commented 1 year ago
docker logs bilibili-webhook
2023-04-20 14:26:15 [INFO] RUA!
2023-04-20 14:26:16 [INFO] RUA!
2023-04-20 14:26:17 [INFO] RUA!
2023-04-20 14:26:18 [INFO] RUA!
2023-04-20 14:26:19 [INFO] RUA!
2023-04-20 14:26:22 [INFO] RUA!
2023-04-20 14:26:26 [INFO] RUA!
2023-04-20 14:26:33 [INFO] RUA!
2023-04-20 14:26:46 [INFO] RUA!
2023-04-20 14:27:13 [INFO] RUA!
2023-04-20 14:28:05 [INFO] RUA!
2023-04-20 14:29:06 [INFO] RUA!
2023-04-20 14:30:06 [INFO] RUA!
2023-04-20 14:31:07 [INFO] RUA!
2023-04-20 14:32:08 [INFO] RUA!
2023-04-20 14:33:09 [INFO] RUA!
2023-04-20 14:34:09 [INFO] RUA!
2023-04-20 14:35:10 [INFO] RUA!
2023-04-20 14:36:11 [INFO] RUA!
2023-04-20 14:37:12 [INFO] RUA!
2023-04-20 14:38:12 [INFO] RUA!
2023-04-20 14:39:13 [INFO] RUA!
2023-04-20 14:40:14 [INFO] RUA!
2023-04-20 14:41:15 [INFO] RUA!
2023-04-20 14:42:15 [INFO] RUA!
2023-04-20 14:43:16 [INFO] RUA!
2023-04-20 14:44:17 [INFO] RUA!
2023-04-20 14:45:18 [INFO] RUA!

这个就是日志了

LJason77 commented 1 year ago

这个日志我也看不出问题😂。 RSSHub 是自建的吗?订阅的链接正常吗?

kingchun commented 1 year ago

docker网卡

ip addr show docker0
3: docker0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default
    link/ether 02:42:e5:84:dd:2b brd ff:ff:ff:ff:ff:ff
    inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0
       valid_lft forever preferred_lft forever
    inet6 fe80::42:e5ff:fe84:dd2b/64 scope link
       valid_lft forever preferred_lft forever

我把rsshub放在宿主机 宿主机使用 curl访问rss是没问题的

 curl http://172.17.0.1:1200/bilibili/user/video/44497027
<?xml version="1.0" encoding="UTF-8"?>
<rss  xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"

>
    <channel>
        <title><![CDATA[赏味不足 的 bilibili 空间]]></title>
        <link>https://space.bilibili.com/44497027</link>
        <atom:link href="http://172.17.0.1:1200/bilibili/user/video/44497027" rel="self" type="application/rss+xml" />
        <description><![CDATA[赏味不足 的 bilibili 空间 - Made with love by RSSHub(https://github.com/DIYgod/RSSHub)]]></description>
        <generator>RSSHub</generator>
        <webMaster>i@diygod.me (DIYgod)</webMaster>

config.toml配置

# 配置文件示例
#
# 请将此文件复制一份并重命名为 `config.toml`

[[feed]]
url = "http://172.17.0.1:1200/bilibili/user/video/44497027"
interval = 60
option = "--danmaku=no --playlist-type=no --disable-proxy"
path = "bilibili/Academia"
update = true
LJason77 commented 1 year ago

容器内能访问到这个链接吗?

kingchun commented 1 year ago

我新开了一个容器 进去了可以访问 那个容器进不去

kingchun commented 1 year ago

不过他一直再重启是正常的吗

LJason77 commented 1 year ago

一直重启是不正常的。 如果没有更详细的日志的话,那就需要一步步调试,一点点排除问题。

LJason77 commented 1 year ago

能否说下在什么设备上跑的容器,CPU 架构是什么?

kingchun commented 1 year ago

错误

./bilibili-webhook: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.29' not found (required by ./bilibili-webhook)

我直接编译了 在宿主机跑 x86设备 debian10

LJason77 commented 1 year ago

你的二进制文件是 x86_64架构的,x86 的设备不能跑。 not found 一般是缺少依赖,依赖问题建议 Google。

kingchun commented 1 year ago

不知道为啥我用的其他vps编译的 竟然说glibc 版本低了

LJason77 commented 1 year ago

依赖库的问题千奇百怪,我给不了标准答案,还是建议去 Google 😂

kingchun commented 1 year ago

我用alpine 手动编译了 发现启动的时候会报这个错误

2023-04-20 09:30:48 [INFO] RUA!
Segmentation fault (core dumped)

不知道具体是为什么

LJason77 commented 1 year ago

Segmentation fault 问题比依赖库更复杂,不过以我的经验在这里大概率和架构有关(我自己就遇到很多次)。 试试将 rust:alpine 镜像改为 rust:latestalpine:latest 改为 ubuntu:22.04ubuntu:21.04。 然后 apk 相关的命令都要改成 apt。 (或者改成其他你熟悉的发行版)

LJason77 commented 1 year ago

相关问题在这里出现过,有人提的一些方法或许可以尝试一下:https://github.com/rusqlite/rusqlite/issues/879

kingchun commented 1 year ago

我换成了debian编译出来了运行了 但是还是报错找不到目录

2023-04-20 11:24:54 [INFO] [赏味不足 的 bilibili 空间] 更新了一个新视频:来谈谈培训机构,一定要透过现象看本质
2023-04-20 11:24:54 [ERROR] No such file or directory (os error 2)
2023-04-20 11:24:54 [INFO] [赏味不足 的 bilibili 空间] 更新了一个新视频:认真说下数字经济中的区块链和智能合约
2023-04-20 11:24:54 [ERROR] No such file or directory (os error 2)
2023-04-20 11:24:54 [INFO] [赏味不足 的 bilibili 空间] 更新了一个新视频:创业or副业战略方向的选择很重要
2023-04-20 11:24:54 [ERROR] No such file or directory (os error 2)
2023-04-20 11:24:54 [INFO] [赏味不足 的 bilibili 空间] 更新了一个新视频:Web3当下dapp的发展和问题
2023-04-20 11:24:54 [ERROR] No such file or directory (os error 2)
2023-04-20 11:24:54 [INFO] [赏味不足 的 bilibili 空间] 更新了一个新视频:为什么求职人找工作说难,企业招人也说难
2023-04-20 11:24:54 [ERROR] No such file or directory (os error 2)
2023-04-20 11:24:54 [INFO] [赏味不足 的 bilibili 空间] 更新了一个新视频:我对于web3公链现在的认知
2023-04-20 11:24:54 [ERROR] No such file or directory (os error 2)
2023-04-20 11:24:54 [INFO] [赏味不足 的 bilibili 空间] 更新了一个新视频:切忌“狐假虎威”
2023-04-20 11:24:54 [ERROR] No such file or directory (os error 2)
2023-04-20 11:24:54 [INFO] [赏味不足 的 bilibili 空间] 更新了一个新视频:大数据在数字经济时代的发展
2023-04-20 11:24:54 [ERROR] No such file or directory (os error 2)
2023-04-20 11:24:54 [INFO] [赏味不足 的 bilibili 空间] 更新了一个新视频:让我们来讲讲白嫖的故事
2023-04-20 11:24:54 [ERROR] No such file or directory (os error 2)
2023-04-20 11:24:54 [INFO] [赏味不足 的 bilibili 空间] 更新了一个新视频:应我们小伙伴要求,我来谈下酒桌文化
2023-04-20 11:24:54 [ERROR] No such file or directory (os error 2)
2023-04-20 11:24:54 [INFO] [赏味不足 的 bilibili 空间] 更新了一个新视频:要做就做细分千万别大而全
2023-04-20 11:24:54 [ERROR] No such file or directory (os error 2)
2023-04-20 11:24:54 [INFO] [赏味不足 的 bilibili 空间] 更新了一个新视频:警惕用区块链作为亮点的各种项目
2023-04-20 11:24:54 [ERROR] No such file or directory (os error 2)
2023-04-20 11:24:54 [INFO] [赏味不足 的 bilibili 空间] 更新了一个新视频:学校新的专业和方向要不要选
2023-04-20 11:24:54 [ERROR] No such file or directory (os error 2)
2023-04-20 11:24:54 [INFO] [赏味不足 的 bilibili 空间] 更新了一个新视频:别矜持,点进来,这一期教大家如何画饼
2023-04-20 11:24:54 [ERROR] No such file or directory (os error 2)
2023-04-20 11:24:54 [INFO] [赏味不足 的 bilibili 空间] 更新了一个新视频:数字资产在当下框架下可以尝试的金融切入点
2023-04-20 11:24:54 [ERROR] No such file or directory (os error 2)
2023-04-20 11:24:54 [INFO] [赏味不足 的 bilibili 空间] 没有更新!

目录

docker inspect bilibili-webhook | grep Mounts -A 20
        "Mounts": [
            {
                "Type": "bind",
                "Source": "/home/data/smb/bilibili-webhook/downloads",
                "Destination": "/app/downloads",
                "Mode": "",
                "RW": true,
                "Propagation": "rprivate"
            },
            {
                "Type": "bind",
                "Source": "/home/data/smb/bilibili-webhook/config",
                "Destination": "/app/config",
                "Mode": "",
                "RW": true,
                "Propagation": "rprivate"
            }
        ],
        "Config": {
            "Hostname": "789d0404f716",
            "Domainname": "",

我linux宿主机的目录

tree -d -L 3 /home/data/smb/bilibili-webhook/
/home/data/smb/bilibili-webhook/
├── config
│   ├── bilili
│   └── log
└── downloads
    ├── bilibili
    │   └── Academia
    └── bilibili-webhook
        ├── src
        └── target

9 directories

docker容器里面看到的目录

root@789d0404f716:/app#  tree -d -L 3
.
|-- config
|   |-- bilili
|   `-- log
`-- downloads
    |-- bilibili
    |   `-- Academia
    `-- bilibili-webhook
        |-- src
        `-- target

9 directories
LJason77 commented 1 year ago

进容器看看 yutto 及相关依赖有没有安装。

kingchun commented 1 year ago

安装了依赖不过又有了新的问题 不知道为啥说 说参数不对

yutto: error: ambiguous option: --danmaku=no could match --danmaku-format, --danmaku-only
usage: yutto [-h] [-v] [-n NUM_WORKERS]
             [-q {127,126,125,120,116,112,80,74,64,32,16}]
             [-aq {30251,30280,30232,30216}]
             [--vcodec DOWNLOAD_VCODEC:SAVE_VCODEC]
             [--acodec DOWNLOAD_ACODEC:SAVE_ACODEC]
             [--output-format {infer,mp4,mkv,mov}]
             [--output-format-audio-only {infer,aac,flac,mp4,mkv,mov}]
             [-df {xml,ass,protobuf}] [-bs BLOCK_SIZE] [-w] [-x PROXY]
             [-d DIR] [--tmp-dir TMP_DIR] [-c SESSDATA] [-tp SUBPATH_TEMPLATE]
             [-af ALIAS_FILE] [--video-only] [--audio-only] [--no-danmaku]
             [--danmaku-only] [--no-subtitle] [--subtitle-only]
             [--with-metadata] [--metadata-only] [--metadata-format {nfo}]
             [--embed-danmaku] [--embed-subtitle EMBED_SUBTITLE] [--no-color]
             [--no-progress] [--debug] [-b] [-p EPISODES] [-s] [--no-inherit]
             url
yutto: error: ambiguous option: --danmaku=no could match --danmaku-format, --danmaku-only
usage: yutto [-h] [-v] [-n NUM_WORKERS]
             [-q {127,126,125,120,116,112,80,74,64,32,16}]
             [-aq {30251,30280,30232,30216}]
             [--vcodec DOWNLOAD_VCODEC:SAVE_VCODEC]
             [--acodec DOWNLOAD_ACODEC:SAVE_ACODEC]
             [--output-format {infer,mp4,mkv,mov}]
             [--output-format-audio-only {infer,aac,flac,mp4,mkv,mov}]
             [-df {xml,ass,protobuf}] [-bs BLOCK_SIZE] [-w] [-x PROXY]
             [-d DIR] [--tmp-dir TMP_DIR] [-c SESSDATA] [-tp SUBPATH_TEMPLATE]
             [-af ALIAS_FILE] [--video-only] [--audio-only] [--no-danmaku]
             [--danmaku-only] [--no-subtitle] [--subtitle-only]
             [--with-metadata] [--metadata-only] [--metadata-format {nfo}]
             [--embed-danmaku] [--embed-subtitle EMBED_SUBTITLE] [--no-color]
             [--no-progress] [--debug] [-b] [-p EPISODES] [-s] [--no-inherit]
             url
yutto: error: ambiguous option: --danmaku=no could match --danmaku-format, --danmaku-only
LJason77 commented 1 year ago

问题在配置文件的 option里,是 yutto 版本问题。 docker 用的是旧版 yutto,旧命令是 --danmaku=no,你手动安装的新版 yutto 的是命令是 --no-danmaku

LJason77 commented 1 year ago

config.toml.example 只是示例文件,你可以自行更改参数。

kingchun commented 1 year ago

好家伙 终于成了 参数全变了 谢谢老哥的指导

cyanxxx commented 1 year ago

进容器看看 yutto 及相关依赖有没有安装。

我也有同样的问题,日志只是显示[INFO] RUA!怎么看具体是什么有问题呢?因为他一启动就报错了,我进不去容器看是否有缺失依赖,要怎么解决呢?

LJason77 commented 1 year ago

因为他一启动就报错了

那么把报错贴出来就行了。

cyanxxx commented 1 year ago

报错的日志只有[INFO] RUA! 我用yutoo提供的docker可以运行,但是还是希望如果rss能订阅下载就更好了

LJason77 commented 1 year ago

那么如何得出报错了?

cyanxxx commented 1 year ago

那么如何得出报错了?

就是不断重启,如果关了自动重启就是出了这条日志就退出了

LJason77 commented 1 year ago

那么为什么会“进不去容器"?

cyanxxx commented 1 year ago

那么为什么会“进不去容器"?

?就是他显示完这个[INFO] RUA!容器就会终止了,怎么进去啊?我的是在群晖里面装的是x86_64会不会因为这个不行,但是build镜像的时候没有报错过

LJason77 commented 1 year ago

懂了,先学 docker 基础。

cyanxxx commented 1 year ago

懂了,先学 docker 基础。

就是我这种情况已经不适用单纯改config.toml配置,还要把Dockerfile改成适用的才可以是吧?那周末我在看看吧。谢谢回答

cyanxxx commented 1 year ago

Segmentation fault 问题比依赖库更复杂,不过以我的经验在这里大概率和架构有关(我自己就遇到很多次)。 试试将 rust:alpine 镜像改为 rust:latestalpine:latest 改为 ubuntu:22.04ubuntu:21.04。 然后 apk 相关的命令都要改成 apt。 (或者改成其他你熟悉的发行版)

进容器看也是这个问题Segmentation fault (core dumped),按着这个改就可以了,谢谢哈