《Linux下使用Docker部署Web项目》

​说在前头:本人为大二在读学生,书写文章的目的是为了对自己掌握的知识和技术进行一定的记录,同时乐于与大家一起分享,因本人资历尚浅,能力有限,文章难免存在一些错漏之处,还请阅读此文章的大牛们见谅与斧正。若在阅读时有任何的问题,也可通过评论提出,本人将根据自身能力对问题进行一定的解答。

1.什么是Docker?

简介:docker是容器虚拟化技术,可以有多个容器(可以不同功能)且相互隔离,互不影响。容器没有自己的内核,直接运行于宿主主机的内核。

docker的优势:

  • 主机资源利用率高
  • 启动时间快
  • 部署简单
  • 运行环境一致性

​docker与虚拟机的区别:虚拟机需要有自己完整的操作系统,故需要宿主主机提供资源虚拟出一套物理资源(Hypervisor层)供虚拟机使用,系统镜像往往较大,如标准的centos7有4G多。docker仅需要自身的应用和依赖库,直接运行在宿主主机上,不需要宿主主机提供虚拟的物理资源。且更加的轻量,一个小的镜像仅需要小几百MB。中间Docker引擎是否有点像java的虚拟机,docker镜像也支持跨平台,同一个镜像直接可以在Linux、Windows、mac宿主主机上运行。

2.安装Docker

介于本篇文章主要讲解如何使用Docker部署Web服务,因此Docker的安装过程在此忽略,若有的小伙伴还未安装Docker,可参考以下文章进行Docker的安装和使用:

CentOS Docker 安装:https://www.runoob.com/docker/centos-docker-install.html

3.Docker基本命令介绍

docker pull : 从镜像仓库中拉取或者更新指定镜像;docker build : 构建镜像docker run : 运行容器docker start : 启动容器docker stop : 停止容器docker restart: 重启容器docker exce : 进入容器docker rm : 删除容器docker rmi : 删除镜像docker images : 查看镜像docker ps : 查看已运行的容器docker ps -a : 查看所有容器

对上面的命令大家先做一个大致的了解,后面部署过程中我会对每个命令具体的用法在下面一一讲解。

4.准备一个可运行的web项目

因为是部署Web项目,我们需要一个可以运行的Web项目,小伙伴们自己如果有自己的web项目可以使用自己的尝试部署,如果没有可以使用我给大家提供的war包。公众号回复“jieyue”即可获取该项目gitee仓库地址,获取到仓库地址后,如下图:

找到发行版,点击全部

下载上面框选的两个文件后,上传至我们的linux服务器即可

5.Docker部署MySQL

使用Docker部署Mysql十分方便,首先我们需要访问网易云镜像中心地址如下:

网易云镜像中心:https://c.163yun.com/hub#/home

从主页中,我们可以看到,mysql镜像,我们点击进去

看到红色框选的地方,点击复制,获取拉取镜像的命令,然后在服务器中运行该命令,拉取成功后如下图:

执行:docker images // 查看已拉取的镜像

可以看到,mysql镜像已经成功拉取下来,接下来我们需要运行该镜像。在此之前,我还需要查看网易云镜像中心的mysql详细描述,获取具体的运行命令。

现在我们来运行该命令:docker run --name jieyue-mysql -e MYSQL_ROOT_PASSWORD=123456 -d -p 3306:3306 hub.c.163.com/library/mysql下图是对每个命令的解读

执行完run命令后,执行docker ps // 查看mysql容器是否已成功运行

如上图,打印出了mysql容器的具体信息,证明我们的容器已经成功运行因为我们的web项目使用了mysql作为数据库,这时我们需要对刚刚下载下来的jieyue.sql导入mysql,步骤如下:1.拷贝jieyue.sql到容器的/usr/local目录下docker cp jieyue.sql jieyue-mysql:/usr/local2.执行命令:docker exec -it jieyue-mysql bash进入容器。3.执行命令:mysql -u root -p 进入数据库创建数据库:create database jieyue charset=utf8;4.退出数据库操作界面,执行命令:mysql -u root -p jieyue < jieyue.sql至此数据库完成初始化。具体操作如下图所示。

6.Docker部署Redis

redis的部署与mysql类似甚至更简单,我们同样访问网易云镜像中心

复制命令后在服务器中执行

执行命令docker images,发现redis镜像已成功拉取,接下来我们来运行redis,执行命令docker run -d -p 6379:6379 --name jieyue-redis hub.c.163.com/library/redis来运行容器

执行docker ps看到redis已成功运行,至此,redis已部署完毕。

7.Docker部署Tomcat

拉取命令复制下来后我们需要对命令进行修改,Tomcat的版本需要使用8.5版本的,因此,将命令后的laster改成8.5

没改前:docker pull hub.c.163.com/library/tomcat:latest改完后:docker pull hub.c.163.com/library/tomcat:8.5

执行以下命令运行Tomcat容器docker run -d -p 80:8080 --name jieyue-tomcat hub.c.163.com/library/tomcat:8.5

此时访问我们服务器的ip地址即可看到如下页面

证明我们的Tomcat已成功运行,此时我们需要对Tomcat中的ROOT目录进行替换,替换成我们自己的web项目。

进入tomcat容器,cd到/usr/local/tomcat/webapps/目录,删除ROOT目录(具体操作如下)

退出容器,将我们自己的web项目war包拷贝进容器中

最后执行命令docker restart jieyue-tomcat  重启tomcat

8.测试

当tomcat重启成功后我们就可以开始测试了,打开服务器域名对应的ip地址,可以看到,web项目主页已经成功显示,表明项目已成功部署(如下图)

9.总结

本篇向大家讲述了docker的基本操作命令,以及使用docker部署mysql,redis,tomcat的方法,希望大家能够从中有所收获。

👇扫描二维码关注

  • 7
    点赞
  • 43
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 5
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

云丶言

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

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

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

打赏作者

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

抵扣说明:

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

余额充值