背景介绍
前后端分离项目涉及vue、nginx与含dockerFile的jar包部署,使用docker一次性部署vue、nginx、jar、mysql。
操作流程
安装&启动docker
1 | yum install docker |
安装nginx
1 | //查看镜像 |
1 | #使用nginx镜像来创建nginx容器实例并运行 |
run 创建容器实例
— name 容器命名
-v 映射目录
-d 设置容器后台运行
-p 本机端口映射 将容器的80端口映射到本机的80端口
将nginx关键目录映射到本机
在本机创建nginx的一些文件存储目录1
mkdir -p /root/nginx/www /root/nginx/logs /root/nginx/conf
查看nginx-test容器id(containerId)
根据id将nginx-test容器配置文件copy到本地1
2
3docker ps -a
docker cp "containerId":/etc/nginx/nginx.conf /root/nginx/conf
创建新nginx容器nginx-web,并将www,logs,conf目录映射到本地1
docker run -d -p 80:80 --name nginx-web -v /root/nginx/www:/usr/share/nginx/html -v /root/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /root/nginx/logs:/var/log/nginx nginx
www: nginx存储网站网页的目录
logs: nginx日志目录
conf: nginx配置文件目录
启动nginx1
docker start nginx-web
设置反向代理
进入到/root/conf/nginx.conf vim指令修改即可1
2
3
4
5
6
7
8
9
10server{
listen 80;
charset utf-8;
server_name ip地址(xxx.xxx.xxx.xxx);
location / {
proxy_pass http://ip地址:8080;
proxy_redirect default;
}
}
部署vue项目
cd vue项目 ls查看是否有dist与dockerfile 2个文件
dockerfile内容:
作用:指定镜像、将dist文件放到nginx的项目地址路径1
2
3FROM nginx:latest
MAINTAINER xx
COPY dist/ /usr/share/nginx/html/
dist文件生成:1
npm run build
当前目录部署镜像1
docker build -t vueproject .
部署mysql
1 | # 下载镜像 |
部署java web项目
编写dockerfile文件1
2
3FROM openjdk:11-jre-alpine
ADD statistics_examine.jar app.jar
ENTRYPOINT ["java","-jar","app.jar"]
构建镜像&运行容器1
2
3docker build -t spring-hello .
docker run --name hello-backend -d -p 8000:8080 spring-hello
...
...
This is copyright.