docker 自定义安装 node

这篇博客介绍了如何创建一个自定义的Docker镜像,专注于安装特定版本的Node.js(8.2.1)。通过编写Dockerfile并执行`docker build`命令来构建镜像,接着展示如何查看已构建的镜像,并创建一个启动脚本来运行该镜像。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

创建Dockerfile

首先,创建目录node,用于存放后面的相关东西。

创建Dockerfile

首先,创建目录node,用于存放后面的相关东西。

runoob@runoob:~$ mkdir -p ~/node ~/node/src ~/node/logs
进入创建的node目录,创建Dockerfile

FROM node


#创建app目录,保存我们的代码
RUN mkdir -p ~/node/src
#设置工作目录
WORKDIR ~/node/src


#复制所有文件到 工作目录。
COPY  ~/node/src


#编译运行node项目,使用npm安装程序的所有依赖,利用taobao的npm安装


WORKDIR ~/node/src/js
RUN npm install --registry=https://registry.npm.taobao.org


#暴露container的端口
EXPOSE 80 443


#运行命令
CMD ["npm", "start"]
构建镜像

docker  build -t node:8.2.1

查看镜像

docker images


创建脚本作为镜像的启动文件

touch node.sh (创建文件)

vi node.sh(编辑文件)

将以下文件放入node.sh中

#!/bin/sh


NAME=hy-node 
HTTP_PORT=172.17.0.1:30009
CURDIR=`pwd`
IMGDIR=/usr/src/apisrv


case "$1" in 
	create)
		mkdir -p /var/lib/openresty/resource/ads/
		mkdir -p /var/lib/openresty/tmp/
		port_map="-p $HTTP_PORT:3000"
		volumn_map="-v $CURDIR/src:$IMGDIR \
			-v $CURDIR/logs:$IMGDIR/logs\
			-v /etc/localtime:/etc/localtime \
			-v /var/lib/openresty/:/var/lib/openresty/ \
			-v /tmp/docker_share:/tmp/docker_share"
		docker run -it -d --name $NAME $port_map $volumn_map $env_map $link -w $IMGDIR node:8.2.1 npm start
		;;
	foreground)
		mkdir -p /var/lib/openresty/resource/ads/
		mkdir -p /var/lib/openresty/tmp/
		port_map="-p $HTTP_PORT:3000"
		volumn_map="-v $CURDIR/src:$IMGDIR \
			-v $CURDIR/logs:$IMGDIR/logs\
			-v /etc/localtime:/etc/localtime \
			-v /var/lib/openresty/:/var/lib/openresty/ \
			-v /tmp/docker_share:/tmp/docker_share"
		docker run -it --rm --name $NAME $port_map $volumn_map $env_map $link -w $IMGDIR node:8.2.1 npm start
		;;
	delete)
		docker rm $NAME
		;;
	start)
		docker start $NAME
		;;		
	stop)
		docker stop $NAME
		;;
	status)
		docker ps -a | grep $NAME
		;;
	restart)
		docker restart $NAME
		;;
	exec)
		shift
		docker exec -it $NAME $*
		;;		
	*)
		echo "Usage: $0 {start|stop|status|exec|restart}"
		exit 1
	;;
esac
使用node.sh创建可启动镜像

./node.sh create(创建镜像)
./node.sh start(启动镜像)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值