基于官方的docker镜像,制作自定义的私有镜像(以前端node为例)

一、背景

我们难免会有定制docker image的需求,本文就以前端项目依赖的Node环境为例,讲述如何把自定义的镜像由一个私库推送到另外一个私库的场景。

本文分为两部分,一是编写定制的Dockerfile文件;二是把harbor私库的镜像推送到nexus私库。

二、Dockerfile

在dockerhub搜索node,https://hub.docker.com/search?q=node
在这里插入图片描述
进入后,选择你在用的node版本。

FROM node:16.13.0

ARG VUE_CLI_VERSION=3.3.0
ENV VUE_CLI_VERSION ${VUE_CLI_VERSION}

ENV NPM_CONFIG_LOGLEVEL info

RUN apt-get -y update
RUN apt-get install -y zip unzip

# 使用淘宝镜像,加速下面的安装lerna
RUN echo "\
registry=https://registry.npm.taobao.org/ \n\
proxy=null \n\
strict-ssl=false \n\
sass_binary_site=https://npm.taobao.org/mirrors/node-sass/ \
" > /root/.npmrc

RUN npm install -g lerna

WORKDIR /home/node/nemv

三、推送harbor私库的镜像到nexus私库

1、本地已有制作好的镜像

docker images | grep xxx
先找到要推送的镜像,然后打tag标签,最后push推送到nexus。

在这里插入图片描述
在这里插入图片描述

root@dev-vm-jvm-worker-01:~# docker images | grep composer
harbor.xx.cloud/library/xx-composer               2.0.14                    0690257d107b        2 years ago         169MB

root@dev-vm-jvm-worker-01:~# docker tag harbor.xx.cloud/library/xx-composer:2.0.14 192.168.5.6:8086/library/xx-composer:2.0.14

root@dev-vm-jvm-worker-01:~# docker push 192.168.5.6:8086/library/xx-composer:2.0.14
The push refers to repository [192.168.5.6:8086/library/xx-composer]
776b99c66f0b: Pushed 
8b0cb31cc99e: Pushed 
4ec04a860bcf: Pushed 
440afdd54420: Pushed 
26beb482d6f3: Pushed 
3c2df1de189c: Pushed 
89d01b1c277b: Pushed 
110755da6eb9: Pushed 
02708184b93d: Pushed 
0a1e5e00585b: Pushed 
6cfea6e4001e: Pushed 
5b838bbb8048: Pushed 
493cc3941b45: Pushed 
5d718d40b44e: Pushed 
24e52497c24f: Pushed 
86d905c1f58e: Pushed 
22573737ba76: Pushed 
777b2c648970: Pushed 
2.0.14: digest: sha256:2e1a3138a004fe20939685b0b64fdce290e883bcc406ebd8523a747a45be83f7 size: 4080

2、本地没有已制作好的镜像

整个流程就多了第一步build环节,其他同上。

docker build -t library/xx-composer:2.0.14 .

四、总结

node版本如要升级,只需要修改Dockerfile中的版本号即可。
官方node镜像默认就支持yarn和npm,无需我们额外去安装。

当然,第一次由于是从dockerhub下载,网络差异,镜像的构建速度可能会比较慢。但是后面拉取私库的自定义镜像就比较快速了。

  • 8
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

天草二十六_简村人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值