nodejs镜像制作


前言

制作镜像的前提是:要有一台云服务器和用于存放镜像的仓库。本人使用的是腾讯云服务器,镜像仓库直接使用腾讯云提供的容器服务即可,点我即可查看腾讯云提供的容器服务。


一、安装Docker

由于我的云服务器的操作系统是ubuntu,安装docker一行命令即可搞定

sudo apt-get install docker.io

二、在镜像仓库上创建一个命名空间

我创建的命名空间是sampsonliu,这个命名空间表示以后所有的镜像上传到这个目录下面
在这里插入图片描述


三、创建alpine和npm两个镜像

我创建了alpine和npm两个镜像,alpine镜像作为构建nodejs的基础镜像在这里插入图片描述在这里插入图片描述


四、上传镜像版本

1、通过Docker Hub拉取alpine镜像

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


2、登录腾讯云的镜像仓库

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


3、上传alpine镜像

sudo docker tag a24bb4013296 ccr.ccs.tencentyun.com/sampsonliu/alpine:0.0.1
在这里插入图片描述
sudo docker push ccr.ccs.tencentyun.com/sampsonliu/alpine:0.0.1
在这里插入图片描述


4、构建npm镜像

我把构建npm镜像的操作写成了脚本,代码地址是:https://github.com/sampsonliu/base-images/tree/master/nodejs,共有三个核心文件:version、alpine.dockerfile、build.sh

version

VERSION=0.0.1

alpine.dockerfile


FROM ccr.ccs.tencentyun.com/sampsonliu/alpine:0.0.1

RUN set -x \
    && apk -U --no-cache add --update nodejs npm \
    && rm -rf /var/cache/apk/*
    && npm -v \
    && node -v

build.sh

#/bin/bash

set -x
image_group="ccr.ccs.tencentyun.com/sampsonliu"
base_dir=$(cd "$(dirname "$0")";pwd)

version=`sed '/^VERSION=/!d;s/.*=//' ${base_dir}/version`

echo "local version is ${version}"

image_name="npm"
dockerfile="${base_dir}/alpine.dockerfile"
echo "build ${image_name}:${version}" \
&& docker build --pull -t ${image_group}/${image_name}:${version} -f ${dockerfile} ${base_dir} \
&& docker push ${image_group}/${image_name}:${version} \
&& echo "build ${image_name} finish"

构建过程如下:
在这里插入图片描述
查看仓库npm镜像版本:
在这里插入图片描述


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值