1、拉取node镜像,命令:docker pull node
(附docker常用命令:
查看镜像列表:docker images
查看运行中的容器: docker ps
查看所有容器: docker ps -a
停止容器:docker stop cid(容器id或名称)
重启容器:docker restart cid(容器id或名称)
启动已停止的容器:docker start cid(容器id或名称)
删除容器(只能删除已经停止的容器): docker rm cid(容器id或名称)
删除镜像(若镜像中有容器则必须先删除容器): docker rmi imageid(镜像id或名称)
2、创建或选择一个存放项目包的目录
用rz命令将项目上传到此目录(使用的putty工具必须是支持上传文件,如果命令使用不了则安装,命令:yum -y install lrzsz),
附putty工具下载链接:https://pan.baidu.com/s/1tixc1Yh8GQ9JbgVWFXavug
提取码:rxwm
3、cd进入存放项目目录,下载一份linux版本python安装包(nuxtjs环境),命令:
wget https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tgz
也可先下载好再上传到服务器
4、在当前目录创建Dockerfile文件,命令:touch Dockerfile
5、编辑Dockerfile文件,命令:vi Dockerfile
# 指定基础镜像
FROM node
# 维护者信息
MAINTAINER XXX
#安装python
ADD Python-2.7.15.tgz /opt
#若报错则
#RUN tar -zxvf Python-2.7.15.tgz -C /opt
#安装python
RUN ./opt/Python-2.7.15/configure --prefix=/usr/local/python2.7 \
&& make && make install
# 复制本地文件到容器目录中
COPY qrCodeMana-Web/ /qrCodeMana-Web
# 运行指令,赋予权限
RUN chmod 777 -R /qrCodeMana-Web
# 指定运行目录
WORKDIR /qrCodeMana-Web
EXPOSE 8113
#设置淘宝npm镜像
RUN npm config set registry https://registry.npm.taobao.org
#设置node-sass镜像,否则可能下载失败
RUN npm i node-sass --sass_binary_site=https://npm.taobao.org/mirrors/node-sass/
#npm命令
RUN npm install
RUN npm run build
CMD ["npm", "start"]
6、编辑完成按esc,再按shift+:,输入wq,回车保存退出
7、构建镜像,命令:docker build -t qrcodeweb .
命令解释: -t后的为镜像名,可自定义,最后有一点.,即当前目录
8、启动容器命令 docker run -d -p 8113:3000 --name qrcodeweb --link qrcode:web qrcodeweb
命令解释:-d(后台启动) -p 主机端口:项目设置的端口 --name 容器别名 --link(如果前端后端项目都用的docker部署,则link命令作用为连接两个容器,冒号前为后端容器名,冒号后为别名)