首先你要准备一台服务器,你可以选择购买各大厂商的服务器,你也可以选择自己搭建一个centos服务器,可以参考之前的文章了解快速搭建centos7。
Dockerfile
了解Dockerfile之前我们先介绍它是干什么的?
Dockerfile是一个配置文件,相当于一个node项目中的package.json文件,根据依赖来生成其他内容。
在使用docker前一定要先启动docker软件。
systemctl start docker
生成项目
这次我们选择的node项目是通过express-generator进行生成的。这个npm包可以生成一些简单的页面。
要使用npm我们需要先安装node,安装node要先安装nvm,安装流程如下。
wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash
nvm install stable
node -v
npm i cnpm -g
npm i nrm -g
使用express-generator也非常简单。命令如下,我们的项目文件夹存放在app目录。
npm install express-generator -g
express app
编写Dockerfile文件,自己通过命令建立一个这样的文件,如果不了解vi命令,请查看文章vi编辑器。
vi Dockerfile
这个配置文件里面的内容
FROM node
COPY ./app /app
WORKDIR /app
RUN npm install
EXPOSE 3000
CMD npm start
参数FROM表示依赖的镜像,COPY表示将宿主机的文件拷贝到容器中,WORKDIR表示工作目录,RUN表示编译打包前运行的命令,EXPOSE表示容器暴露的端口,CMD表示启动容器时运行的命令。
了解更多参数访问docker文档[1]
编写Dockerfile完成之后,通过命令生成镜像
docker build -t express-demo .
-t表示指定镜像的名字,.表示在当前目录的Dockerfile开始构建。
然后就根据镜像运行我们的容器了。
docker run -d -p 3333:3000 express-demo
通过IP:3333来访问当前的express项目吧。