将 docker 数据完全移动到其他目录

除了将 docker 的 data-root 移动到其他目录外,即修改 /etc/docker/daemon.json: { "data-root": "/vol1/@docker/data" } 还要修改 containerd 的目录,即修改 /etc/containerd/config.toml: ... root = "/vol1/@docker/containerd" ... 修改完成后停止 docker 和 containerd 两个服务,并将原始目录移动到新的位置,重启服务即可。…

OpenCode 在无头环境中报错 Error: Unexpected error

通过对 opencode 启动命令行添加参数 --log-level DEBUG,得到以下日志: error: Executable not found in $PATH: "xdg-open" path: "xdg-open", errno: -2, syscall: "spawn xdg-open", spawnargs: [ "http://localhost:14096" ], code: "ENOENT" at spawn (node:child_process:667:35) at spawn (node:…

在无状态环境中实现自动化备份:基于 Duplicati 的实践

最近在使用某公共算力平台,这个平台除了指定的持久化目录外,其余数据在重启后全部丢失,而且这个持久化目录还是通过对象存储实现的,这导致里面的文件权限无法保持,比如强制 0755,因此直接把用户目录持久化的方案是不可行的,会造成奇奇怪怪的问题。 综上所有信息,我选择使用 Duplicati 完成自动化备份,并在需要的时候恢复文件。 安装 前往 duplicati/duplicati - Release 下载适用于系统的 gui 安装包。例如我这里的是 x86-64 的 Ubuntu 环境,于是下载 duplicati-2.3.0.0_stable_2026-04-14-linux-x64-gui.deb,上传到 ~/Download 目录中,使用以下命令安装: apt install ~/Download/duplicati-…

Docker 官方安装脚本使用镜像

之前尝试在国内的 ECS 实例里安装 docker,尝试运行以下命令: curl -fsSL https://get.docker.com | bash 结果如下: ecs-user@iZ2vc4s2mp8t4ikopho8pnZ:~/frps$ sudo bash ./docker-installer.sh # Executing docker install script, commit: 4c94a56999e10efcf48c5b8e3f6afea464f9108e + sh -c 'apt-get -qq update >/dev/null' + sh -c 'DEBIAN_FRONTEND=noninteractive apt-get -y -qq install…

Docker Engine Api 和 docker-buildkit 的坑:BUILDPLATFORM

最近在研究打包一个 Python 的基础镜像,想要新增支持 GUI,考虑基于 GitHub - jlesage/docker-baseimage-gui 构建,项目是使用 Gradle 创建的,使用的插件是基于 Docker Engine Api 完成的 Docker 操作。 在构建镜像的时候遇到以下报错: Using Dockerfile '/vol1/1000/Document/Docker/poetry-docker/src/main/base/baseimage-gui/Dockerfile' Using images 'mhmzx/docker-python-baseimage:3.10-bookworm-base-…

fnOS 0.8.36 无法安装 build-essential

今天给我 NAS 换上了 RTX 2060,安装 nv 专有驱动的时候报错没有 gcc,于是考虑安装 build-essential,结果报错: madray@NAS:~$ sudo apt install build-essential Reading package lists... Done Building dependency tree... Done Reading state information... Done Some packages could not be installed. This may mean that you have requested an impossible situation or if…

使用 aliyundrive-webdav + rclone 单向同步到阿里云盘教程

本教程使用全 Docker 部署,请自行提前安装 docker 等依赖。 首先部署 aliyundrive-webdav,docker-compose.yaml 示例: version: '3' services: aliyundrive-webdav: image: messense/aliyundrive-webdav:2.3.3 container_name: aliyundrive-webdav restart: unless-stopped networks: - drives-chain-network environment: PORT: 3164 REFRESH_TOKEN: xxxx networks: drives-chain-network: name: drives-…

运行 docker exec 报错 the input device is not a TTY

在使用 docker in docker 时,在容器内执行命令刷新 nginx: docker exec -it nginx-nginx-1 nginx -s reload 结果一直报错: the input device is not a TTY 查阅帮助文档: madray@pve:/mnt/core/app/nginx/conf.d$ docker exec --help Usage: docker exec [OPTIONS] CONTAINER COMMAND [ARG...] Execute a command in a running container…