请问如何迁移 Nginx Proxy Manager docker 数据?

198 天前
 Exp

昨天晚上准备将搭建在家里群晖 docker 上的 NPM 迁移到 OpenWrt 路由器的 docker 中去。

不想再一个一个重新配置域名反代解析,直接将群晖的 NPM docker 目录( docker-compose.yml 文件 和 data, letsencrypt 两个文件夹)拷贝到 OpenWrt 上去构建,发现无法启动成功。报错如下:

能力有限,网上搜索一些关键字没有大看明白,网上简单搜索了一下大概了解可能是跟 ssl 证书相关但不知道解决办法。

不知有没有佬哥知道如何解决这个问题呢?核心点就是想保留之前 NPM 配置好的域名解析。

附带 docker-compose.yml 内容如下:

services:
  app:
    image: 'jc21/nginx-proxy-manager:latest'
    container_name: nginx-proxy-manager
    restart: unless-stopped
    ports:
      # These ports are in format <host-port>:<container-port>
      - '19654:80' # Public HTTP Port
      - '1789:443' # Public HTTPS Port
      - '2345:81' # Admin Web Port
      # Add any other Stream port you want to expose
      # - '21:21' # FTP

    # Uncomment the next line if you uncomment anything in the section
    environment:
      TZ: Asia/Shanghai
      # Uncomment this if you want to change the location of
      # the SQLite DB file within the container
      DB_SQLITE_FILE: "/data/database.sqlite"

      # Uncomment this if IPv6 is not enabled on your host
      # DISABLE_IPV6: 'true'

    volumes:
      - ./data:/data
      - ./letsencrypt:/etc/letsencrypt
1429 次点击
所在节点    Docker
6 条回复
oneisall8955
198 天前
你那边缺少文件,复制的 data 和 letsencrypt 目录文件完整吗,挂在的目录对了吗,修改 volumes 为绝对路径看看,或者修改--entrypoint 进去看看容器实际运行情况
```bash
docker run --rm \
--name nginx-proxy-manager \
-p 19654:80 \
-p 1789:443 \
-p 2345:81 \
-e DB_SQLITE_FILE="/data/database.sqlite" \
-v /xxx/xxx/data:/data \
-v /xxx/xxx/letsencrypt:/etc/letsencrypt \
--entrypoint /bin/sh
jc21/nginx-proxy-manager:latest
```

上面 /xxx/xxx 改为你的 data 和 letsencrypt 的父目录,模拟 npm 运行环境,ls -l /etc/letsencrypt 有没有对应的文件
Exp
198 天前
@oneisall8955 感谢回复~
data 和 letsencrypt 目录文件是完整的,我整体拷贝过去的。
挂载路径也是相对路径:
```yaml
volumes:
- ./data:/data
- ./letsencrypt:/etc/letsencrypt
```

我再试试换成绝对路径看
wheat0r
198 天前
考虑一下权限有没有问题
Exp
197 天前
@oneisall8955 换成绝对路径结果也一样,进入到 docker 容器内部看了 /etc/letsencrypt/live/npm-1 下确实没有相关文件

@wheat0r 权限改为 777 也是一样。

再次感谢二位,不知还有没有其它尝试方向?
wheat0r
197 天前
@Exp 文件是链接文件吗?
Exp
197 天前
@wheat0r #5 不是

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1114803

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX