Docker+springboot+mysql+nginx部署vue

一、Docker安装,参考上篇

二、下载相关镜像

网易云镜像中心登录icon-default.png?t=LA92https://c.163yun.com/hub#/library

根据需要将镜像 docker  pull下来(提示:服务器上有redis、msql等  可以后台配置直接连)

下载完成之后:docker images  查看所有镜像

msyql容器启动:(注:不是最新版的话需要指定版本   镜像名:版本号    第一次启动需要指定密码) --name 容器名  最后mysql_name为镜像名

docker run -d -e MYSQL_ROOT_PASSWORD=password -p 3306:3306 --privileged=true --name mysql mysql_name

nginx同样 pull下来   可通过 docker run --name nginx -d -p 80:80 镜像名  来启动,通过IP即可访问

启动之后可通过:docker ps     查看       后续可根据容器id进行操作

 三、制作后台镜像

springboot项目打包成jar

linux中新建目录存放   此处新建个      /usr/local/springboot

同时在存放jar的目录下新建Dockerfile文件       vi模式下编辑内容并进行保存

FROM java:8
VOLUME /tmp
ADD xxxxxx-0.0.1-SNAPSHOT.jar app.jar
EXPOSE 8080
RUN bash -c 'touch /app.jar'
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]

接着镜像生成: docker build -t  别名(起个镜像名)  .             注:末位记得加个  .

完成之后通过docker images就能看到做的镜像           

最后启动:   docker  run -d -p 8081:8081 镜像名

四、vue项目打包部署

1.在宿主机先创建个nginx目录用来存放conf、conf.d、html、logs

mkdir -p /usr/nginx/{conf,conf.d,html,logs}

2、将生成的build目录下的内容放在html中

3、复制nginx配置到宿主目录       6dd为刚刚启动的nginx的容器id (复制完之后可以关掉,删除)

关掉:docker stop 6dd     删除:docker rm 6dd

docker cp 6dd:/etc/nginx/nginx.conf /usr/nginx/conf

docker cp 6dd:/etc/nginx/conf.d /usr/nginx/conf.d

4、修改配置 conf.d下的default.conf

location /{}   里面新增一行     try_files $uri $uri/ /index.html;

再次启动nginx

docker run --name nginx -d -p 80:80 -v /usr/nginx/logs:/var/log/nginx -v /usr/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /usr/nginx/conf.d:/etc/nginx/conf.d -v /usr/nginx/html:/usr/share/nginx/html nginx镜像名

你可能感兴趣的:(spring,boot,vue.js,docker)