Skip to content

发发记账独立部署版docker安装方法

docker镜像地址

点击此链接查看最新docker镜像地址

docker安装服务端文件方法一(不考虑数据持久化,不推荐)

根据镜像配置启动容器,以下为示例命令(按需修改参数):

code
  docker run -d \
  --name 88jizhang \
  -p 5188:5188 \                       # 映射容器5188端口到宿主机5188端口
  -p 5199:5199 \                       # 映射容器5199端口到宿主机5199端口
  -e TZ=Asia/Shanghai \                # 添加时区配置
  --restart always \                   # 添加自动重启策略
  crpi-btxs8xhps2iaw65e.cn-hangzhou.personal.cr.aliyuncs.com/88jizhang/88jizhang:v1.0.13

​参数说明:

-d:后台运行容器。

--name:指定容器名称。

-p:端口映射(格式 宿主机端口:容器端口),

-v:数据持久化(宿主机目录:容器目录),这里直接容器运行,不配置。

-e:设置时区为北京上海时间

--restart always 自动重启策略

镜像地址 crpi-btxs8xhps2iaw65e.cn-hangzhou.personal.cr.aliyuncs.com/88jizhang/88jizhang:v1.0.13

启动成功后,根据运行日志显示的IP地址(如10.100.14.44),浏览器输入 http://10.100.14.44:5188 即可访问系统.

启动成功后,如果有ssl证书,浏览器输入 https://10.100.14.44:5199 即可访问系统.

运行成功后,查看docker容器里面的有以下这些文件夹或文件

code
   .
   ├─ node_modules/           # 📁 项目运行必须包含的依赖文件
   ├─ zhangbenpicture/        # 📁 账单图片文件夹及web界面的一些页面
   ├─ https/                  # 📁 ssl证书存放文件夹
   ├─ data/                   # 📁 数据文件目录
   │   ├─ jizhang.db          # 🏠 数据库文件
   │   └─ setting.json        # 🔧 配置文件(用户注册密钥等可自行修改)
   │─ appstart                # 🚀 快速启动文件
   └─ ....                    # 其他项目文件(如安装说明等文件)

docker安装服务端文件方法二(考虑数据持久化,推荐安装方式)

上面部署方法,全部数据(数据库、账单图片文件夹等)都在放在容器中运行,一旦删除容器,数据会丢失。那么就必须考虑数据持久化。即将重要的数据映射在宿主机上,其他数据继续保存在容器里面。这样每次容器删除或者容器升级,均不会对记账数据有影响。

我们只需将容器里面的账单图片文件夹、ssl证书文件、数据库、配置文件放在宿主机里面。其余文件继续保留在容器中。

以ubuntu系统的宿主主机为例,新建一个文件夹88jizhang,存放路径如/home/zhangsan/docker/88jizhang

我们已经给你建好了下面内容的文件夹,点击此链接下载 ,然后上传到宿主机目录下,看到包括文件及文件夹如下:

code
  .88jizhang
   ├─ zhangdanimages/         # 📁 账单相册在此文件夹里面(是个空文件夹后期存放账单图片)
   ├─ https/                  # 📁 ssl证书存放文件夹(里面有cert.pem和key.pem两个文件)
   ├─ data/                   # 📁 数据文件目录
   │   ├─ jizhang.db          # 🏠 数据库文件
   │   └─ setting.json        # 🔧 配置文件(用户注册密钥等可自行修改)
   └─ ....                    # 用户自行添加的其他文件

docker run命令如下并启动

code
 docker run -d \
 --name 88jizhang \  # 容器命名为88jizhang
 -p 5188:5188 \      # 宿主机5188端口(冒号左边)映射容器5188端口(冒号右边)
 -p 5199:5199 \      # 宿主机5199端口(冒号左边)映射容器5199端口(冒号右边)
 -v /home/zhangsan/docker/88jizhang/data:/app/data \            # 映射数据文件
 -v /home/zhangsan/docker/88jizhang/https:/app/https \          # 映射SSL证书目录
 -v /home/zhangsan/docker/88jizhang/zhangdanimages :/app/zhangbenpicture/zhangdan-picture \  # 映射账单相册存储目录
 -e TZ=Asia/Shanghai \                        # 添加时区配置
 --restart always \                           # 添加自动重启策略
 crpi-btxs8xhps2iaw65e.cn-hangzhou.personal.cr.aliyuncs.com/88jizhang/88jizhang:v1.0.13

ARM 环境请更换docker镜像地址为 crpi-btxs8xhps2iaw65e.cn-hangzhou.personal.cr.aliyuncs.com/88jizhang/arm_88jizhang:v1.0.13

核心功能说明

1、映射端口:

-p 5188:5188 \ # 宿主机5188端口(冒号左边)映射容器5188端口(冒号右边)

-p 5199:5199 \ # 宿主机5199端口(冒号左边)映射容器5199端口(冒号右边)

容器内端口:5188为http端口,5199为https端口(需配合SSL证书使用),该端口不可修改

宿主机端口:5188为http端口,5199为https端口(需配合SSL证书使用),用于外部访问,可以根据情况自行修改

2、文件或文件夹映射

确保记账相关数据持久化,必须对记账相关的重要文件和文件夹进行映射,将数据存放在宿主机上。即使容器删除,该数据文件也不会丢失。

2.1 数据库文件映射(最重要)

作用:data文件夹里面有记账数据库jizhang.db和配置文件setting.json,用于存储所有记账流水信息,这个文件夹不能丢,否则记账数据就没了。

映射代码 -v /home/zhangsan/docker/88jizhang/tata:/app/data \

​代码解析:将容器内/app/data目录下的文件绑定到宿主机路径 /home/zhangsan/docker/88jizhang/data

​注意:宿主机文件夹 /home/zhangsan/docker/88jizhang/data 必须存在,且文件夹里面有jizhang.db和setting.json两个文件,否则容器会报错。

2.2 SSL证书目录映射 (非必须步骤)

作用:存放 SSL 证书(如 cert.pem 和 key.pem),用于启用 HTTPS 服务。

映射代码 -v /home/zhangsan/docker/88jizhang/https:/app/https \

​代码解析:将容器内/app/https文件夹目录绑定到宿主机 /home/zhangsan/docker/88jizhang/https文件夹。

​注意:宿主机文件夹 /home/zhangsan/docker/88jizhang/https必须存在,并放置cert.pem和key.pem两个证书文件,否则容器会报错。

当然如果你不使用ssl证书,该行映射代码删除即可,宿主机也不用设置https文件夹并存放cert.pem和key.pem文件。

2.3 账单图片目录映射 (必须步骤)

​作用:持久化存储用户上传的账单图片。

映射代码 -v /home/zhangsan/docker/88jizhang/zhangdanimages :/app/zhangbenpicture/zhangdan-picture \

代码解析:将容器内/app/zhangbenpicture/zhangdan-picture文件夹目录绑定到宿主机 /home/zhangsan/docker/88jizhang/zhangdanimages文件夹

注意:宿主机文件夹 /home/zhangsan/docker/88jizhang/zhangdan-picture必须存在,新建一个空文件夹即可,否则报错。

当然如果你不想使用流水上传图片功能,该行映射代码删除即可。宿主机也不用新建zhangdanimages文件夹。

启动成功后,根据运行日志显示的IP地址(如10.100.14.44),浏览器输入 http://10.100.14.44:5188 即可访问系统.

启动成功后,如果有ssl证书,浏览器输入 https://10.100.14.44:5199 即可访问系统.

部署完毕后,web端、app端和H5端详细访问方式、端口映射、域名绑定等,点击后面链接 web、app与H5访问 查看

温馨提示

如果出现类似报错,比如docker: Error response from daemon: failed to create task for container: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: error during container init: exec: "./setting.json": no such file or directory: unknown则说明找不到宿主机映射的文件或者文件夹。

请检查宿主机的映射文件是否存在,如果不存在请新建。

部署过程中有任何疑问请进入QQ群558762513交流。