本文将介绍 Dynamsoft Barcode Reader node.js 版本的web应用在docker上创建独立镜像的基本步骤。
Node.js 应用
首先,我们将通过这篇文章中介绍的 Node.js barcode app 作为本教程的Node.js 示例应用。
其次,在安装过程中我们会用到Dynamsoft Barcode Reader SDK v7.2 和 node-gpy。
环境
Ubuntu 16.04.6 LTS
Node v8.11.3
Npm 5.6.0
Nvm 0.35.3
Vim 7.4.1689
Dynamsoft Barcode Reader SDK v7.2
下载
wget https://github.com/dynamsoft-dbr/nodejs/releases/download/v7.2/dbr-linux-7.2.tar.gz
解压
tar -xzf dbr-linux-7.2.tar.gz
安装编译DBR Node.js Extension
克隆代码
git clone https://github.com/dynamsoft-dbr/nodejs.git
编辑 binding.gyp
cd src
vim binding.gyp
替换
请将 /mnt/g/nodejs/libDynamsoftBarcodeReader.so 和 /mnt/g/nodejs 替换成上面的DBR 7.2 库文件所在路径。例如:
构建
npm i node-gyp -g
node-gyp configure
node-gyp build
创建Node.js Docker image
进入Node.js web app
cd ../examples/web
创建并进入Dockerfile
touch Dockerfile
vim Dockerfile
编辑Dockerfile
添加基础docker镜像 Node v8.11.2
FROM node:8.11.2
创建并声明工作路径
RUN mkdir -p /usr/src/dbr
WORKDIR /usr/src/dbr
拷贝解码库并建立软连接
COPY libDynamsoftBarcodeReader.so ./
RUN ln -s /usr/src/dbr/libDynamsoftBarcodeReader.so /usr/lib/libDynamsoftBarcodeReader.so
拷贝当前项目
COPY . ./
设立外部端口
EXPOSE 2018
运行
CMD [ “npm”, “start” ]
完整Dockerfile
将该项目所用到的所有文件放于同一目录下
cp <your path to>/Dynamsoft/BarcodeReader/lib/libDynamsoftBarcodeReader.so ./
cp ../../src/config.js ./
cp -r ../../srcbuild ./
至此,所有准备工作已完成,开始我们的docker化吧!
构建docker镜像
sudo docker build -t <your username>/dbr-web-app .
运行
sudo docker run -p 2018:2018 <your username>/dbr-web-app
许可
您可以通过编辑config.js来使用您的许可。如果您还没有我们的许可,可以通过这个链接获取免费30天的开发试用许可。