制作基于NVM的自定义构建镜像

34 阅读1分钟

基础镜像就是基于比如centos、龙蜥等系统镜像预装一些软件工具或者环境,基于NVM的自定义构建镜像适用于云效

dockerfile编写

#依赖anolisos环境
FROM openanolis/anolisos:8.6

#安装vim、git和nvm环境
RUN yum -y update \
    && yum -y install epel-release && yum -y install jq \
    && yum -y install bash \
    && yum -y install vim \
	&& yum -y install git \
	&& git --version \
	&& cd ~/ \
	&& git clone https://gitee.com/hellogitee/nvm.git .nvm \
	&& cd ~/.nvm && git checkout v0.39.5 \
	&& echo "source ~/.nvm/nvm.sh" >> ~/.bashrc && source ~/.bashrc \
	&& echo "export NVM_NODEJS_ORG_MIRROR=https://npmmirror.com/mirrors/node/" >> ~/.bashrc && source ~/.bashrc \
	&& echo "export NVM_NPM_ORG_MIRROR=https://npmmirror.com/mirrors/npm/" >> ~/.bashrc && source ~/.bashrc \
	&& nvm install 14.18.3 \
	&& nvm install 16.20.2 \
	&& nvm install 17.3.0 \
	&& nvm install 18.18.2 \
	&& nvm install 19.9.0 \
	&& nvm install 20.9.0 \
	&& nvm install 21.1.0 \
	&& yum remove -y git \ 
	&& yum clean all 

基于dockerfile 制作镜像

#执行docker build指令 -t name:tag   -f /路径/Dockerfile
docker build -t anolisos8.6/nvm:v0.39.5  .

验证预装工具和环境是否正确

#查看镜像
docker images

# 找到对应镜像id  imageid 比如imageid=3f6bd7d1db6a
# -itd 是为了保证基础镜像(基础镜像无启动命令)可以正常启动 一般镜像-it即可
docker run -itd --name=anolisos8.6/nvm 3f6bd7d1db6a

#查询正在运行的容器 比如容器id = a2d239402391
docker ps

# 进入docker容器
docker exec -it a2d239402391 /bin/bash

#验证nvm 查看node可用版本
nvm ls-remote