SpringBoot之旅-Docker

JAVA烂猪皮

共 3944字,需浏览 8分钟

 ·

2023-08-01 10:05

走过路过不要错过

点击蓝字关注我们

一、引言
记得上大三时,要给微机房电脑安装系统,除了原生的操作系统外,还要另外安装一些必要的开发软件,如果每台电脑都重新去安装的话工作量就很大了,这个时候就使用了windows镜像系统,我们将要安装的软件装好打包成一个镜像,其他电脑只要装这个镜像就可以了,这样工作量就减少了很多。Docker跟这个镜像并不是一回事,但是思想是相同的。
我们在一台服务器中下载、安装、配置好Mysql,在另外一台服务器中又得重新下载、安装、配置,这样很麻烦也容易出现一些错误。
这个时候Docker就派上用场了,我们可以将安装配置好的软件打包成一个镜像,然后其他的服务器中只要安装了Docker,就可以运行镜像,运行成功后的镜像我们称为容器,每个容器之间使用了沙箱隔离机制,这就是Docker的作用。
Docker是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源。Docker是一个轻量级容器技术,它不是一个虚拟机技术,却实现了虚拟机技术的资源隔离,而且他的性能要比虚拟机技术高。
Docker支持将软件编译成一个镜像;然后在镜像中各种软件做好配置,将镜像发布出去,其他使用者可以直接使用这个镜像。运行中的这个镜像称为容器,容器启动是非常快速的。类似windows里面的ghost操作系统,安装好后什么都有了。

二、核心概念
先学习几个核心概念
  • 主机(Host):安装了Docker程序的机器(Docker直接安装在操作系统之上)。
  • 客户端(Client):连接docker主机进行操作。
  • 仓库(Registry):用来保存各种打包好的软件镜像(包括公共仓库和私有仓库)。
  • 镜像(Images):软件打包好的镜像,放在docker仓库中。
  • 容器(Container):镜像启动后的实例称为一个容器,容器是独立运行的一个或一组应用。
我们使用Docker只需要按照以下步骤:
  1. 安装Docker。
  2. 去Docker仓库找到这个软件对应的镜像。
  3. 使用Docker运行这个镜像,这个镜像就会生成一个Docker容器。
  4. 对容器的启动停止就是对软件的启动停止
三、安装Docker
接下来我们来在Linux安装Docker,首先我们必须先安装好Linux虚拟机,这个在此不赘述了,我们直接从安装Docker开始,
首先我们要检查内核版本,命令为:uname -r,必须是3.10及以上,然后就按照步骤进行安装:
  1. 安装:yum install docker 中间有一个确认操作,按y确定
  2. 启动:systemctl start docker。
  3. 查看版本:docker -v。
  4. 设置开机启动:systemctl enable docker。
  5. 关闭:systemctl stop docker。
一般正常安装不会有问题,如有问题,百度一下也能解决。
四、常用操作
安装完成之后我们来学习下常用的操作
4.1 镜像操作
  • 检索:docker search 关键字,例:docker search mysql

这里的搜索其实是去https://hub.docker.com/ 中进行搜索,我们也可以去这里直接进行搜索。
  • 拉取:docker pull 镜像名:tag (:tag是可选的,tag表示标签,多为软件的版本,默认是latest) 搜索完成之后,我们可以对我们想要的镜像进行拉取,例:docker pull mysql

之前没使用国内镜像加速,下载了半个小时还没完成,建议使用镜像加速器,我使用的是阿里云的,直接注册后,按照教程使用即可https://cr.console.aliyun.com/。
  • 列表:docker images 安装完成之后使用命令 查看已下载的镜像

  • 删除:docker rmi image-id 删除不要的镜像,image-id 对应相关镜像ID
4.2 容器操作
镜像下载成功后,我们可以开始进行容器操作,为了方便演示,我们再下载tomcat的镜像:docker pull tomcat

下面我们对容器进行操作:
  • 运行: docker run --name container-name -d image-name 其中name 参数是我们自定义容器名 -d 指后台运行,image-name 是镜像名称,例:docker run --name mytomcat -d tomcat:late

  • 查看运行镜像列表:docker ps ,运行成功后面可以通过命令查看,这个命令只查看正在运行的容器

  • 停止:docker stop 容器的id ,例:docker stop 43e2182aceec

  • 查看所有镜像列表:docker ps -a

  • 启动镜像:docker start 容器的id 例:docker start 43e2182aceec
  • 删除镜像:docker rm 容器的id 例:docker rm 43e2182aceec
  • 启动一个做了端口映射的tomcat:启动的整体命令相同,需要加上一个 -p: 将主机的端口映射到容器的一个端口 主机端口:容器内部的端口,例:docker run --name mytomcat -d -p 8888:8080 tomcat:latest ,这个时候我们将主机的端口号与容器端口映射,这样才能在外部直接访问。

  • 查看容器日志:docker logs 容器的id 例:docker logs fc5b1c7c31bb
这是一些基础命令,想要学习更多的命令请访问:https://docs.docker.com/engine/reference/commandline/docker/


想进大厂的小伙伴请注意,

大厂面试的套路很神奇,

早做准备对大家更有好处,

埋头刷题效率低,

看面经会更有效率!

小编准备了一份大厂常问面经汇总集

剩下的就不会给大家一展出来了,以上资料按照一下操作即可获得

——将文章进行转发评论关注公众号【Java烤猪皮】,关注后继续后台回复领取口令“ 666 ”即可免费领文章取中所提供的资料。




往期精品推荐



腾讯、阿里、滴滴后台试题汇集总结 — (含答案)

面试:史上最全多线程序面试题!

最新阿里内推Java后端试题

JVM难学?那是因为你没有真正看完整这篇文章


结束


关注作者微信公众号 — 《JAVA烤猪皮》


了解了更多java后端架构知识以及最新面试宝典



看完本文记得给作者点赞+在看哦~~~大家的支持,是作者来源不断出文的动力~

浏览 44
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报