美文网首页
docker nodejs镜像优化

docker nodejs镜像优化

作者: 小猋_a8f1 | 来源:发表于2019-05-27 16:09 被阅读0次

目标:

  1. 镜像体积要小一些。但要满足应用需求,和少量调试需求
  2. 推送镜像到仓库的速度要快。npm install 利用docker layer

实现目标1:

  1. 选择镜像底
    查看node docker hub文档,推荐slim,因此选了node:10-slim, 包含了bash 、curl
  2. 启动应用报错,node-gyp依赖make、gcc、g++、python
  3. apt-get更新慢,改用清华源

最终dockerfile

FROM node:10-slim
MAINTAINER 252228148@qq.com

ENV TZ "Asia/Shanghai"

COPY ./sources.list /etc/apt/
# node-gyp require python
RUN set -ex \
  && apt-get update \
  && apt-get install -y make gcc g++ python \
  && rm -rf /var/lib/apt/lists/*

sourcelist

# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb http://mirrors.tuna.tsinghua.edu.cn/debian/ stretch main contrib non-free
# deb-src http://mirrors.tuna.tsinghua.edu.cn/debian/ stretch main contrib non-free
deb http://mirrors.tuna.tsinghua.edu.cn/debian/ stretch-updates main contrib non-free
# deb-src http://mirrors.tuna.tsinghua.edu.cn/debian/ stretch-updates main contrib non-free
deb http://mirrors.tuna.tsinghua.edu.cn/debian/ stretch-backports main contrib non-free
# deb-src http://mirrors.tuna.tsinghua.edu.cn/debian/ stretch-backports main contrib non-free
deb http://mirrors.tuna.tsinghua.edu.cn/debian-security stretch/updates main contrib non-free
# deb-src http://mirrors.tuna.tsinghua.edu.cn/debian-security stretch/updates main contrib non-free

实现目标2

增加.dockerignore,屏蔽掉用不到的目录和文件

node_modules/*
logs/*
.idea/*
.git/*

也参考了[lvwxx] 同学的文章 https://juejin.im/post/5cada976f265da035e210bf8
最终dockerfile

FROM docker.io/pianfeng240/node10 AS builder
WORKDIR /home/app
COPY package.json package-lock.json ./
COPY .npmrc /root
RUN npm install --production

FROM docker.io/pianfeng240/node10
WORKDIR /home/app
COPY --from=builder /home/app/node_modules ./node_modules
COPY . .

EXPOSE 80
CMD ["node", "bin/server"]

验证:
修改后推送镜像到腾讯云的速度大大提高了

相关文章

  • docker nodejs镜像优化

    目标: 镜像体积要小一些。但要满足应用需求,和少量调试需求 推送镜像到仓库的速度要快。npm install 利用...

  • Docker

    Docker 创建docker文件 # 使用官方的nodejs 镜像 具体参考 node version alia...

  • NodeJS 服务 Docker 镜像极致优化指北

    这段时间在开发一个腾讯文档全品类通用的 HTML 动态服务,为了方便各品类接入的生成与部署,也顺应上云的趋势,考虑...

  • Docker 镜像优化与最佳实践

    摘要:云栖TechDay41期,阿里云高级研发工程师御坂带来Docker镜像优化与最佳实践。从Docker镜像存储...

  • 用主机上的visual code调试docker下的hfc应用

    上篇说到:fabric官方提供了docker镜像starter,运行一个nodejs写的hfc(Hyperledg...

  • docker镜像的分层

    一、介绍 二、查看docker镜像分层 三、通过修改dockerfile来优化镜像分层信息 四、容器间的互联(--...

  • k3s部署yapi v3

    介绍 yapi是api 文档管理系统,基于nodejs和mongodb。官方没有提供标准的docker镜像都是自己...

  • k3s部署yapi v2

    介绍 yapi是api 文档管理系统,基于nodejs和mongodb。官方没有提供标准的docker镜像都是自己...

  • [Docker性能优化]Docker基本操作

    书中章节:第1章 准备Docker 宿主机第2章 优化Docker 镜像第3章 用Chef 自动化部署Docker...

  • Docker基础操作

    Docker部署 Docker安装 镜像加速 Docker 基础命令 Docker镜像管理 搜索镜像docker ...

网友评论

      本文标题:docker nodejs镜像优化

      本文链接:https://www.haomeiwen.com/subject/eyshnqtx.html