Nodejs alpine 基础docker镜像构建

1 系统环境

  • centos7 内核:3.10.0-514.26.2.el7.x86_64
  • 安装docker要求内核版本不低于3.10

2 安装docker

yum install docker // 安装docker
systemctl start docker.service // 启动docker
systemctl enable docker.service // 设置开机启动

3 Nodejs 镜像选择

REPOSITORYTAGIMAGE IDCREATEDSIZE
docker.io/node9.2.1-slim69c9f9292fa43 days ago230 MB
docker.io/node9.2.1-alpineafdc3aaaf7483 days ago67.46 MB
docker.io/nodelatest727b047a1f4e3 days ago675.6 MB
docker.io/iron/nodelatest9ca501065d1820 months ago18.56 MB

选择镜像的标准

  • 官方的
  • 经常维护的
  • 体积小的
  • 要有yarn 和 npm
  • node版本要高

最终选择 node:9.2.1-alpine, 该镜像体积很小,已经内置npm(5.5.1), yarn(1.3.2)

4 时区配置

node:9.2.1-alpine的时区默认不是国内的,需要在build时,配置时区。

FROM node:9.2.1-alpine

# Install base packages and set timezone ShangHai
RUN apk update && apk add bash tzdata \
    && cp -r -f /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

...
...
...

CMD [ "node" ]

验证:

➜  node-dockerfile git:(master) docker run -it  e595 sh 
/ # yarn -v
1.3.2
/ # npm  -v
5.5.1
/ # node -v
v9.2.1
/ # date
Tue Dec 12 17:33:26 CST 2017
    原文作者:Carl
    原文地址: https://segmentfault.com/a/1190000012394654
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞