美文网首页java学习之路
spring boot 源码解析(五)Docker简介及使用

spring boot 源码解析(五)Docker简介及使用

作者: 唯有努力不欺人丶 | 来源:发表于2020-12-08 22:25 被阅读0次

    Docker简介

    什么是Docker?
    是一个开源的应用容器引擎。
    其核心是将软件编译成一个镜像,然后在镜像中各种软件做好配置,将镜像发布出去,其他使用者可以直接使用这个镜像。运行中的这个镜像称为容器,容器启动是非常快速的。

    Docker核心概念
    • docker主机(Host):安装了docker程序的机器(Docker直接安装在操作系统上)
    • docker客户端(Client):连接docker主机进行操作。
    • docker仓库(Registry):用来保存这些打包好的软件镜像的地方(有公共的,也可以创建私人的,这里建议用git理解)。
    • docker镜像(images):软件打包好的镜像,放在docker仓库中。
    • docker容器(Container):镜像启动后的实例称为一个容器。是独立运行的一个或者一组应用。
    使用Docker步骤:
    1. 安装Docker
    2. 去Docker仓库找到这个软件对应的镜像
    3. 使用Docker运行这个镜像,这个镜像就会生成一个Docker容器
    4. 对这个容器的启动/停止就是对这个软件的启动/停止

    至此,简单的docker概念就说完了,接着我们实际操作下。

    安装Docker

    安装linux虚拟机。

    因为大多数服务器都是linux系统,所以这里也用linux虚拟机操作。下面简单介绍下如何安装虚拟机。

    1. 教程上老师推荐了Oracle的VirtualBox
      这个百度上下载就行了。我个人的话会希望去官网下载,但是因为我家的网着实有点问题,所以我这里随便找了个网站下载的,反正运气比较好下载来的没啥问题。正常下载后就是一个exe程序,双击后按照要求安装就ok了,需要划重点的是这个软件一定要以管理员的身份运行安装!!这个很重要!
    2. 导入虚拟机文件(这个文件我是网盘上下载的老师同款的centos7-atguigu.ova,但是听说有的大学会提供虚拟机文件,不局限于这个文件)
    3. 双击启动linux虚拟机。使用root/123456登陆(这个账号和密码一般都是这个,根据文件不同会不一样)
    4. 设置虚拟机网络
    5. 设置好网络以后使用命令重启虚拟机网络
    service netword restart
    

    注意如果是centos8则是下面这个命令:

    nmcli c reload
    
    1. 查看虚拟机ip地址
    ip addr
    
    1. 使用客户端连接这个虚拟机
    在linux虚拟机上安装docker

    这一块乱入一些命令

    uname -r //查看centos系统内核版本。Docker要求CentOS系统内核版本高于3.10
    yum yodate //升级软件包及内核
    yum install docker  //安装docker。安装过程中要y确定一下
    systemctl start docker //启动docker
    docker -v //查看版本号,如果正常返回的话说明是启动成功了
    systemctl enable docker //开机自动启动docker
    stop docker //停止docker
    

    Docker中常用操作
    镜像操作
    • docker search xxxx:在docker仓库中检索xxx ,本质上是去docker.com中搜索的。如下图
      docker search mysql
    • docker pull xxxx:字面意思是拉取,实际上就是下载。比如上面我们搜索了mysql,在这里就可以直接拉取 docker pull mysql,而我们在下载的时候还可以指定版本号,用:版本(标签名)来指定。如果不加的话会默认下载最新版。
    • docker images:查看当前我们的docker中有多少镜像,我们可以看到镜像的名称,版本,什么时候下载的之类的一些信息。
    • docker rmi 镜像id 删除指定镜像。这里的镜像id我们可以在查看镜像的时候看到。
    容器操作

    软件的镜像我们可以想象为QQ.exe。而运行镜像就是产生一个容器,可以理解为启动QQ。
    重点是根据镜像启动容器:

    • docker run --name 自己取名称 -d(-d代表后台运行) 镜像名称(eg:tomcat:latest):这个命令就是启动镜像。
    • docker ps:可以查看哪些容器正在运行,还可以看运行时间。
    • docker stop 容器id/容器名称: 停止某个容器
    • docker ps -a 查看所有的容器,不管是不是在运行
    • docker start 容器id 启动容器。这个不同于最上面的根据镜像启动。而是在镜像启动后已经创建了容器,下一次就可以直接启动这个容器了(就好像qq不用每次都申请账号,下次可以直接用账号登陆)。
    • docker rm 容器id 删除容器。删除的容器一定要确保容器在停止状态。docker rmi是删除镜像的,rm是删除容器的。
    • docker run (--name 自己取的名字) -d -p 8888:8080 镜像名称:特别注意的一点,这个也是启动容器,但是相对于容器操作中的第一个命令多了一个-p xxx:xxx。这是一个端口映射的操作,一定要把docker中对内的端口映射到外部去,外部才可以访问。第一个端口是主机的端口,第二个端口是容器内部的端口。(ps:这里注意要关闭防火墙)
    • service firewalld status:查看防火墙状态
    • service firewalld stop:关闭防火墙
    • docker logs 容器名称/容器id: 查看这个容器的日志

    其实这里docker官网中,每一个镜像的文档中除了版本号,也会有操作命令。这个建议大家没事去看官网呢!这个官网真的是很良心,一个步骤一个讲解。虽然是英语的,不过不影响。

    到这里这个docker的简单使用就说完了,按照这个步骤大家可以自己操作一遍试试。这篇文章其实和SpringBoot关系不大,但是因为是在教程中,所以我这里也是一起整理了下来。我发现可能是随着会的东西越来越多,也可能是docker比较简单,所以docker过一遍几乎就可以使用。很多命令和nginx的也挺类似的。和redis也有点相同。反正不知不觉发现现在学会了好多东西。自豪一波。
    本篇笔记就记到这里,如果稍微帮到你了记得点个喜欢点个关注。另外文中的一些安装包我也都是从网上找的,大家也可以试试。也可以留言或者私聊问我要,祝大家工作顺顺利利!身体健健康康!

    相关文章

      网友评论

        本文标题:spring boot 源码解析(五)Docker简介及使用

        本文链接:https://www.haomeiwen.com/subject/aqmqgktx.html