Node 项目打包成docker镜像

2021-03-11  本文已影响0人  南城忆往

环境

# 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

配置内容

FROM ubuntu

WORKDIR /usr/src/app

COPY node-api   node-api 

CMD ["./node-api "]
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

上面可能会出现下载不了的问题。
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]# 
上一篇 下一篇

猜你喜欢

热点阅读