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