环境
# centos 7.x
[root@k8s-node-3 ~]# docker -v
Docker version 20.10.0, build 7287ab3
[root@k8s-node-3 ~]# npm -v
6.14.11
[root@k8s-node-3 ~]# node -v
v14.16.0
[root@k8s-node-3 ~]#
[root@k8s-node-3 ~]# pkg -v
4.4.9
具体步骤
切换到需要打包的项目根目录下。
# 依赖下载
npm install
使用pkd把源码打包成二进制可执行文件 可能会涉及权限。
sudo pkg -t node12-linux-x64 .
# 点(.) 相当于打包好的二进制文件放到当前目录。
# 执行编译生成镜像
docker-compose build
# 最后运行docker容器
docker-compose up -d
配置内容
- Dockerfile
FROM ubuntu
WORKDIR /usr/src/app
COPY node-api node-api
CMD ["./node-api "]
- docker-compose.yml
version: "3"
services:
node-api:
build: .
image: node-api
container_name: node-api
hostname: node-api
environment:
TZ: Asia/Shanghai
NODE_ENV: production
ports:
- 13000:3000
restart: on-failure
-
package.json
image.png
上面可能会出现下载不了的问题。
pkg地址自行下载后。将其改名并移动到如下目录:
[root@k8s-node-3 v2.6]# pwd
/root/.pkg-cache/v2.6
[root@k8s-node-3 v2.6]# ls
fetched-v14.4.0-linux-x64
[root@k8s-node-3 v2.6]#
网友评论