资讯专栏INFORMATION COLUMN

Nodejs alpine 基础docker镜像构建

Raaabbit / 2541人阅读

摘要:系统环境内核安装要求内核版本不低于安装安装启动设置开机启动镜像选择选择镜像的标准官方的经常维护的体积小的要有和版本要高最终选择该镜像体积很小,已经内置时区配置的时区默认不是国内的,需要在时,配置时区。

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 镜像选择
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.io/node 9.2.1-slim 69c9f9292fa4 3 days ago 230 MB
docker.io/node 9.2.1-alpine afdc3aaaf748 3 days ago 67.46 MB
docker.io/node latest 727b047a1f4e 3 days ago 675.6 MB
docker.io/iron/node latest 9ca501065d18 20 months ago 18.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

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/92067.html

相关文章

  • Nodejs alpine 基础docker镜像构建

    摘要:系统环境内核安装要求内核版本不低于安装安装启动设置开机启动镜像选择选择镜像的标准官方的经常维护的体积小的要有和版本要高最终选择该镜像体积很小,已经内置时区配置的时区默认不是国内的,需要在时,配置时区。 1 系统环境 centos7 内核:3.10.0-514.26.2.el7.x86_64 安装docker要求内核版本不低于3.10 2 安装docker yum install d...

    CoyPan 评论0 收藏0
  • Node.js docker 镜像体积优化实践

    摘要:接下来我们将逐步的减少这个镜像的体积。优化生产环境镜像使用镜像大幅减小镜像体积的最简单和最快的方法是选择一个小得多的基本镜像。使用多阶段构建可以充分利用镜像的缓存,大大减少最终部署到生产环境的时间。 关注作者github每日一道面试题详解 你讨厌部署你的应用程序花费很长时间吗? 对于单个容器来说,超过gb并不是最佳实践。每次部署新版本时都要处理数十亿字节,这对我们来说并不太合适。 本文...

    wenhai.he 评论0 收藏0
  • 高质量 Node.js 微服务的编写和部署

    摘要:编写代码的开发人员必须负责代码的生产部署。构建和部署链需要重大更改,以便为微服务环境提供正确的关注点分离。该对象会在之后的时被这时的回调函数会被调用,并输出。微服务部署及集成部署微服务时有一个原则一个容器中只放一个服务,可以使用编 前几天在微信群做的一次分享,整理出来分享给大家,相关代码请戳 https://github.com/Carrotzpc/docker_web_app sho...

    szysky 评论0 收藏0
  • 高质量 Node.js 微服务的编写和部署

    摘要:编写代码的开发人员必须负责代码的生产部署。构建和部署链需要重大更改,以便为微服务环境提供正确的关注点分离。该对象会在之后的时被这时的回调函数会被调用,并输出。微服务部署及集成部署微服务时有一个原则一个容器中只放一个服务,可以使用编 前几天在微信群做的一次分享,整理出来分享给大家,相关代码请戳 https://github.com/Carrotzpc/docker_web_app sho...

    Michael_Ding 评论0 收藏0
  • 最小化 Java 镜像的常用技巧

    摘要:本文将介绍精简容器镜像的必要性并以基于的应用为例描述最小化容器镜像的常用技巧。经过这一优化,最终镜像的大小为。 背景 随着容器技术的普及,越来越多的应用被容器化。人们使用容器的频率越来越高,但常常忽略一个基本但又非常重要的问题 - 容器镜像的体积。本文将介绍精简容器镜像的必要性并以基于 spring boot 的 java 应用为例描述最小化容器镜像的常用技巧。 精简容器镜像的必要性 ...

    MudOnTire 评论0 收藏0

发表评论

0条评论

Raaabbit

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<