NAS中常用的Docker部署方式

1. 威联通Container Station

1.1. 新建相关文件夹

  1. 打开File Station 点击如图软件打开

  2. 进入Container文件夹

一般位于OS系统卷中,是Container Station默认文件夹

  1. 新建所需文件夹

在其中新建docker compose或者容器创建中所需的映射文件夹

1.2 容器创建

  1. 选择镜像

以Bitwarden举例: 在Dockerhub中搜索 Vaultwarden​ ,选择第二个 vaultwarden/server​,进入之后点击Tags选项卡,往下查看版本号,版本选择 具体版本号,方便后续更新,也可以选择latest。 图中部分填写vaultwarden/server:latest即可,选择高级模式,点击下一步

  1. 配置

按自己喜好填写名称、重启策略后,点击高级模式

编辑网络部分,左边为nas映射端口,右边为容器内端口

编辑储存部分,选择绑定主机路径,将容器内预设好的卷名复制到下方,主机部分选择已新建好的映射文件夹

如有环境部分,或者命令部分的选项一一修改,之后点击应用即可

部署完成后会在左侧容器部分出现,名称为你设定的名称,运行成功会显示正在运行

浏览器输入nasip:映射端口即可打开

1.3 docker compose(无.env文件)

这种方式只适用于无.env配置文件或无其他配置文件的情况

  1. 打开威联通上的Container Station,点击应用程序,再点击右键的创建。

  1. 在弹出的窗口中填写名称和修改好的代码,点击一下验证,验证成功后创建即可

威联通Container Station默认文件夹路径为/share/CACHEDEV2_DATA/Container/新建文件夹,修改docker compose映射路径为此处

  1. 部署完成后会在左侧应用部分出现,名称为你设定的名称,运行成功会显示正在运行

  1. 浏览器输入nasip:映射端口即可打开

2. Docker compose(带.env文件)

2.1 SSH 登录 NAS

打开终端,连接到你的 NAS(以 QNAP / Synology 为例):

  1. 命令行连接
ssh admin@192.168.1.100   # 替换为你的 NAS IP 和用户名
  1. 终端软件连接

以威联通为例: 使用windterm(或tabby等其他软件,我自己喜欢用windterm),菜单栏(alt+w,alt+m打开隐藏菜单栏)选择会话-新建会话,在SSH选项卡中填入主机和端口,点击保存,之后在会话窗口中右键打开或者双击即可,若连接不成功可将密钥及其他类型照下图修改,之后重新连接

2.2 创建项目目录

参见1.1 新建相关文件夹,若有权限问题使用winscp软件新建文件夹

2.3 编写 .env 文件(存储敏感信息)

以下为举例:

DB_PASSWORD=your_strong_password
APP_KEY=$(openssl rand -base64 32)
TZ=Asia/Shanghai
EOF

说明APP_KEY 通过 openssl 自动生成随机密钥。

2.4 创建配置文件夹(如需要)

参见1.1 新建相关文件夹,若有权限问题使用winscp软件新建文件夹

2.5 编写 docker-compose.yml

以下为举例:

version: '3.8'

services:
  myapp:
    image: example/app:latest
    container_name: myapp
    restart: unless-stopped
    ports:
      - "8080:80"
    volumes:
      - ./config:/app/config:ro   # 挂载配置文件夹(只读)
    environment:
      - DB_PASSWORD=${DB_PASSWORD}
      - APP_KEY=${APP_KEY}
      - TZ=${TZ}
    # 或者使用 env_file: .env (两者选一)

2.6 启动服务

在docker compose所在文件夹中启动

cd /share/CACHEDEV2_DATA/Container/新建文件夹
docker compose up -d

3 常用 Docker Compose 管理命令(附说明)

1.使用 `down` 不会删除挂载的目录(如 `./config`、`./data`),除非加 `-v`。
2.生产环境慎用 `-v` 标志,以免误删数据库等重要数据。
3.如需备份数据,可先备份 `./data` 等卷目录。
4.永远不要将 `.env` 提交到 Git 仓库。
5.定期更换密码,使用 `openssl rand -base64 32` 生成密钥。
6.配置文件夹 `./config` 可单独备份,方便迁移。

在项目目录(即 docker-compose.yml 所在目录)执行以下命令:

操作命令说明
启动服务docker compose up -d后台启动所有容器(-d 表示 detach)
停止服务docker compose stop停止所有容器,但保留容器和数据
重启服务docker compose restart重启所有容器(常用于应用配置更新后)
删除容器docker compose down停止并删除所有容器(数据卷默认保留
删除容器+数据卷docker compose down -v⚠️ 同时删除数据卷,数据会永久丢失
重新创建并启动docker compose up -d --build重新构建镜像后启动(常用于代码变更)
查看容器状态docker compose ps列出容器及其状态
查看实时日志docker compose logs -f跟踪日志输出(-f 类似 tail -f

3.1 示例:更新配置后重启

# 1. 修改 .env 或 docker-compose.yml
docker compose down
# 2. 重新创建容器(应用新配置)
docker compose up -d