您的位置:首页 > 运维架构 > Docker

linux下Docker部署nodejs应用

2017-10-20 10:52 676 查看
1.  拉取node镜像

在“/”目录下运行:

docker pull node:latest


网上有如下代码:

docker pull hub.c.163.com/nce2/nodejs:0.12.2


拉取的node版本过低,给我第一次部署环境带来了bug,因此最好使用第一种方法。

2. Git代码

选定存放代码的文件夹后,运行如下代码,可将git上的项目clone到当前文件夹下:

git clone URL


3. 创建Dockerfile蓝本

然后找到之前运行”npm install”的目录下,运行如下代码,创建Dockerfile文件:

vi Dockerfile


在Dockerfile文件中输入如下代码,然后退出保存(Esc、Shift+:、wq、Emter):

FROM node

# Create appdirectory
RUN mkdir -p/home/Service
WORKDIR/home/Service

# Bundle appsource
COPY ./home/Service
RUN npm install

EXPOSE 3000
CMD ["npm", "start" ]


我来逐行解释一下:

FROM node

FROM是构建镜像的基础源镜像,node这个是镜像的名称,也就是开始我们拉下来的那个node镜像。如果本地没有Docker 会自己pull镜像。

RUN mkdir -p/home/Service

RUN 用于在镜像里创建一个文件夹,将来用于保存我们的项目代码。

WORKDIR/home/Service

WORKDIR是将我们创建的文件夹做为工作目录。

COPY ./home/Service

COPY是把本机当前目录下的所有文件拷贝到Image的/home/Service文件夹下。

RUN npm install

在当前目录下执行npm install

EXPOSE 3000

我们将程序里的3000端口暴露给主机,用来进行外部访问。

CMD ["npm", "start" ]

在当前目录下执行npm start也就是运行nodeserver.js

4. 构建Image

在Dockerfile文件所在的目录下运行如下命令,来构建一个镜像:

docker build -t orderimage .




然后系统就会按照Dockerfile里面的内容来生成Image了

运行结束后,我们可以执行以下命令就可以看到我们的镜像了

docker images




5. 运行镜像

接下来就是通过镜像orderimage创建一个容器并运行。

docker run --name ordercontainer -d -p 3000:3000  orderimage


我们可以通过如下命令查看我们的容器:

docker ps


4000



至此,我们就部署完毕了,此时我们打开服务器地址就可以看到我们的程序了:



参考资料:http://www.cnblogs.com/li-peng/p/5827104.html、https://onbing.com/first-blog/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: