docker部署nuxt、nginx、mysql

810 阅读2分钟

前言:一台新的服务器(Centos8.1)

1、安装node、docker(这个就自己百度了)

安装ngxin

1、docker pull nginx

2、docker run -d --name xxx -v /nginx/html:/usr/share/nginx/html -v /nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /nginx/log:/var/log/nginx -v /nginx/conf.d:/etc/nginx/conf.d -p 80:80 nginx

ps:第一个-v 意思是将宿主机的文件目录映射到docker nginx容器里面(此处有坑,注意路径,不然无法访问前端项目) 其他的意思是一样的,只是将宿主的文件覆盖docker nginx 容器里面对应的文件

3、docker ps -a 查看容器是否运行成功

4、docker logs xxx 查看容器运行状态(如有报错可以在此查看)

5、docker restart xxx 重启容器镜像

6、docker stop xxx 停止容器运行

7、docker start xxx 启动容器

安装nuxt

1、首先项目打包好,然后将.nuxt、static、nuxt.config.js、package.json 文件上传到指定的文件夹目录下

2、制作Dockerfile文件

#node版本环境
FROM node:13.7.0
#设置环境
ENV NODE_ENV=production
#指定ip
ENV HOST 0.0.0.0
#镜像中创建文件夹
RUN mkdir -p /app
#将当前目录的内容复制到镜像对应的文件夹里
COPY . /app
#切换到镜像文件夹
WORKDIR /app
# Expose the app port
EXPOSE 3000

#If the environment in China build please open the following comments
#如果在中国环境下构建请把下面注释打开
RUN npm config set registry https://registry.npm.taobao.org

RUN npm install

#RUN npm run build

CMD ["npm", "start"]

3、将制作好的Dockerfile文件和打包好的文件放在一个文件夹里

4、执行docker build -t xxx . (-t 设置生成的镜像名称 最后的一个点必须加上)

5、执行 docker run -dt --name xxx -p 3000:3000 xxx(-p 设置宿主机和镜像的映射端口 前面是宿主机的端口 后面是镜像的端口,镜像端口需要和镜像里启动的服务的端口一致不然无法正常使用)

6、docker ps -a 查看运行状态

7、如果运行失败参照按照nginx查看错误日志进行修复