准备工作:
文件、目录字母全用小写
Dockerfile必须存在于jshaman目录下
Dockerfile内容为:
#制定node镜像的版本
FROM node:12
ADD . /jshaman2021_oem/
#进入到app目录下面,类似cd
WORKDIR /jshaman2021_oem
#安装依赖
RUN npm install
#对外暴露的端口
EXPOSE 800
#程序启动脚本
CMD ["npm", "start"]
package.json文件内容为:
{
"name": "jshaman2021",
"version": "1.0.2",
"description": "jshaman 2021",
"main": "jshaman.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"start": "node jshaman"
},
"author": "jshaman.com",
"license": "ISC",
"dependencies": {
"compressing": "^1.5.1",
"express": "^4.17.1",
"figlet": "^1.5.0",
"javascript-obfuscator": "^2.10.1",
"multiparty": "^4.2.2",
"sync-request": "^6.1.0"
}
}
打包成docker流程:
进入jshaman目录
使用命令,创建:

运行镜像:

部署后授权,需要把容器中的auth.txt文件复制出来:
先查看容器id

再复制文件:

写入授权码之后,再把文件复制回容器:

前面的方法不行,有错误。因为是把文件复制回了容器,而新运行一个容器的时候,启用的是另一个容器。所以不行。
正确的做法是...用正确的方法编辑auth.txt,但我不会。
所以,当得到机器码之后,根据机器码,生成授权并写入auth.txt,然后重build一个。
导出镜像

导入镜像
导入前

导入后:

OK,JShaman的docker镜像制作完成。
本文详细介绍了如何基于Node.js环境,利用Dockerfile和package.json文件打包JShaman应用,并创建Docker镜像。过程中涉及Dockerfile的编写,npm依赖的安装,端口暴露,以及应用启动命令。同时,阐述了在部署后对auth.txt文件进行授权操作的正确步骤,包括文件的复制与编辑,以及重新构建镜像的过程。
5069

被折叠的 条评论
为什么被折叠?



