最强docker部署模板

00.背景

最近学校让一个小组做一个web项目最后部署到linux服务器上,项目本身并不难就是简单的增删改查,但是我想借着这个机会写一个docker部署的模板,方便自己以后用,也希望可以帮助到大家。

01.docker简介

docker可以快捷 轻量 高效 简单的部署服务,docker有两个重要概念 镜像(image)与容器(container) 镜像可以理解为类 容器可以理解为对象,假如我们需要部署一个web项目 这个项目由 vue springboot mysql构成,我们就可以先创造所需的镜像,再创造对应的容器 容器之间进行交互 最终实现这个服务。容器与容器之间是相互隔离的 只有身处同一个网络才能交互,一个镜像产生可以由很多容器。

02.环境整体目录


蓝色节点是目录 红色节点是压缩包 其余是文件。

03.所需材料

这是一个简单的web项目,总共有四大部分,前端vue 后端springboot 数据库mysql 以及nginx服务器。

04.创造镜像

拉取镜像

docker pull nginx 
docker pull openjdk:8 
docker pull mysql:5.7

这里我们拉取了三个镜像
nginx:用于反向代理 可以简单的理解为 我们前端的请求都会通过nginx进行转发
openjdk:8:jdk8 Java运行环境 我们的springboot项目需要java支持
mysql:5.7 :mysql数据库
除了这三个镜像外我们还需要springboot后端的镜像

05.创造后端镜像

首先我们要用maven打包

我们把打包出来的app.jar放到app目录下
编写dockerfile文件

FROM openjdk:8
EXPOSE 8080
ADD ./app.jar /app.jar
RUN bash -c 'touch /app.jar'
ENTRYPOINT ["java","-jar","/app.jar","--spring.profiles.active=prod"]

dockerfile文件的作用是创造一个镜像,这个镜像创造过程有许多层,例如第一层是FROM openjdk:8 作用就是在openjdk:8环境的基础上搭建镜像,EXPOSE 8080则是这个镜像创造的容器向外暴露的端口
用dockerfile构建后端镜像app
在app目录下构建后端镜像

docker build -f ./dockerfile -t app .

查看现有镜像

docker images


可以看到我们现在有四个镜像,分别是app后端镜像、nginx服务器镜像、mysql镜像、jdk8镜像

06.创造mysql容器

我们首先创造宿主机(本机linux服务器)目录

mkdir -p /mnt/docker/mysql
cd /mnt/docker/mysql

创造mysql容器

docker run -id \
-p 3307:3306 \
--name=mysql \
-v /mnt/docker/mysql/data:/var/lib/mysql 
  • 7
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

I cream

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值