收起左侧

各位大佬,为什么docker设置了加速源不生效呀

2
回复
39
查看
[ 复制链接 ]

1

主题

0

回帖

0

牛值

江湖小虾

我在构建chinesesubfinder的时候,一直提示:

Pulling chinesesubfinder Error Get "https://registry-1.docker.io/v2/": net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers) Error response from daemon: Get "https://registry-1.docker.io/v2/": net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers) Exited:0

于是我在前台的镜像仓库-设置中,添加了加速源,但是构建的时候还是提示如上,

于是我修改了daemon.json,还是不行,而且daemon.json和前台的这个配置也没有同步,是独立的吗

sudo tee /etc/docker/daemon.json <<-'EOF'
{
"data-root": "/vol1/docker",
"registry-mirrors": [
"https://docker.1ms.run",
"https://docker.xuanyuan.me",
"https://docker.m.daocloud.io",
"https://hub-mirror.c.163.com"
],
"dns": ["223.5.5.5", "114.114.114.114"]
}
EOF

收藏
送赞
分享

12

主题

71

回帖

0

牛值

初出茅庐

现在的网络环境就是魔高一尺道高一丈 刚** **马上墙又高了

你关注一下这个随时修改吧

我现在 已经沦落到用什么镜像随时启动一个github工作流下载后手工导入到nas了

你可以在 GitHub Actions 工作流里把构建产物通过 WebDAV 上传到 NAS 指定目录。下面给出一个完整、可直接使用的示例工作流(假设构建产物在 artifacts/ 下),并包含安全存放凭证的建议与常见注意事项。

要点

  • 在仓库 Settings → Secrets 新建两个 secret:WEBDAV_URL(含到目标目录的完整 URL,例如 https://nas.example.com/remote.php/webdav/path/)和 WEBDAV_TOKEN(或用户名密码)。若使用用户名/密码,可分成 WEBDAV_USER 和 WEBDAV_PASSWORD。
  • 用 curl、cadaver、wdfs 或 davfs2 等工具上传;在 Actions 中最简单常用的是 curl 或 python requests(可用 actions/setup-python)。
  • 若 NAS 使用自签证书,需在 curl 中允许不检验或在 runner 中安装 CA;建议尽量使用有效证书或内网 runner。

示例 A — 使用 curl(用户名+密码)

  • 适用于公开 webdav 支持 basic auth 的 NAS(示例以 WEBDAV_USER / WEBDAV_PASSWORD 存为 secrets)。

.github/workflows/deploy-webdav.yml

name: Build and Deploy to WebDAV

on:
  push:
    branches: [ main ]

**s:
  build:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v4

      - name: Build
        run: |
          mkdir -p artifacts
          # 把你的构建命令放这里,例如:
          echo "hello" > artifacts/README.txt

      - name: Upload artifacts as archive
        run: tar -czf artifact.tar.gz -C artifacts .

      - name: Deploy to WebDAV via curl
        env:
          WEBDAV_URL: ${{ secrets.WEBDAV_URL }}   # 以/结尾或指定完整目标文件名
          WEBDAV_USER: ${{ secrets.WEBDAV_USER }}
          WEBDAV_PASSWORD: ${{ secrets.WEBDAV_PASSWORD }}
        run: |
          # 如果目标 URL 指向目录,指定文件名 e.g. ${WEBDAV_URL}artifact.tar.gz
          curl --fail --show-error --silent -T artifact.tar.gz \
            --user "${WEBDAV_USER}:${WEBDAV_PASSWORD}" \
            "${WEBDAV_URL}artifact.tar.gz"

示例 B — 使用 Python requests(支持更复杂认证/逻辑)

name: Build and Deploy to WebDAV (Python)

on: [ push ]

**s:
  build-deploy:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4

      - name: Build
        run: |
          mkdir -p artifacts
          echo "hello" > artifacts/README.txt
          tar -czf artifact.tar.gz -C artifacts .

      - name: Setup Python
        uses: actions/setup-python@v4
        with:
          python-version: '3.11'

      - name: Install requests
        run: pip install requests

      - name: Upload via Python
        env:
          WEBDAV_URL: ${{ secrets.WEBDAV_URL }}
          WEBDAV_USER: ${{ secrets.WEBDAV_USER }}
          WEBDAV_PASSWORD: ${{ secrets.WEBDAV_PASSWORD }}
        run: |
          python - <<'PY'
          import os, requests
          url = os.environ['WEBDAV_URL']
          user = os.environ['WEBDAV_USER']
          pwd = os.environ['WEBDAV_PASSWORD']
          with open('artifact.tar.gz','rb') as f:
              r = requests.put(url + 'artifact.tar.gz', data=f, auth=(user,pwd), verify=True)
          print(r.status_code, r.text)
          r.raise_for_status()
          PY

可选:使用 token(如 Nextcloud app password)

  • 如果 NAS 支持 token,把 token 存到 WEBDAV_TOKEN,curl 上传时用 --user "token:" 或用 Authorization header。

常见问题与注意

  • 路径问题:WEBDAV_URL 可指向目录或含文件名;若是目录请确保以 / 结尾并在上传命令中附加目标文件名。
  • 覆盖与版本:每次上传会覆盖同名文件;若要保留历史可在文件名里加上 commit SHA 或时间戳(在 Actions 中用 ​{{ github.sha }} 或 {{ github.run_number }})。
  • 网络访问:GitHub 公共 runner 需要能访问你的 NAS(如果 NAS 在内网且不可访问,需使用 self-hosted runner 部署在同一网络)。
  • TLS:尽量使用有效证书;否则在 curl 中使用 -k 或在 requests 中 verify=False(不安全,仅内网测试可用)。
  • 权限:保证用于上传的账号对目标目录有写权限。
  • 并发与原子性:上传大文件可先上传到临时名再重命名(如果 WebDAV 服务支持 MOVE)以减少读取不完整文件的风险。

如果你提供:1) 你 NAS 的访问方式(用户名/密码 还是 token)、2) 是否在内网(是否需要 self-hosted runner)、3) 期望的目标文件命名(是否要包含版本/sha),我可以基于这些信息把工作流示例定制为最终可直接粘贴使用的版本。

41

主题

1609

回帖

0

牛值

fnOS系统内测组

飞牛百度网盘玩家fnOS1.0上线纪念勋章

需要把你的加速源移动到第一条,而且配置完需要重启docker

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则