docker 自定义安装 node

来源:互联网 发布:联通网络解锁助手1.0.9 编辑:程序博客网 时间:2024/06/07 04:22

创建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/jsRUN 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/shNAME=hy-node HTTP_PORT=172.17.0.1:30009CURDIR=`pwd`IMGDIR=/usr/src/apisrvcase "$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)shiftdocker exec -it $NAME $*;;*)echo "Usage: $0 {start|stop|status|exec|restart}"exit 1;;esac
使用node.sh创建可启动镜像

./node.sh create(创建镜像)
./node.sh start(启动镜像)
原创粉丝点击