Docker简介
什么是Docker?
是一个开源的应用容器引擎。
其核心是将软件编译成一个镜像,然后在镜像中各种软件做好配置,将镜像发布出去,其他使用者可以直接使用这个镜像。运行中的这个镜像称为容器,容器启动是非常快速的。
Docker核心概念
- docker主机(Host):安装了docker程序的机器(Docker直接安装在操作系统上)
- docker客户端(Client):连接docker主机进行操作。
- docker仓库(Registry):用来保存这些打包好的软件镜像的地方(有公共的,也可以创建私人的,这里建议用git理解)。
- docker镜像(images):软件打包好的镜像,放在docker仓库中。
- docker容器(Container):镜像启动后的实例称为一个容器。是独立运行的一个或者一组应用。
使用Docker步骤:
- 安装Docker
- 去Docker仓库找到这个软件对应的镜像
- 使用Docker运行这个镜像,这个镜像就会生成一个Docker容器
- 对这个容器的启动/停止就是对这个软件的启动/停止
至此,简单的docker概念就说完了,接着我们实际操作下。
安装Docker
安装linux虚拟机。
因为大多数服务器都是linux系统,所以这里也用linux虚拟机操作。下面简单介绍下如何安装虚拟机。
- 教程上老师推荐了Oracle的VirtualBox。
这个百度上下载就行了。我个人的话会希望去官网下载,但是因为我家的网着实有点问题,所以我这里随便找了个网站下载的,反正运气比较好下载来的没啥问题。正常下载后就是一个exe程序,双击后按照要求安装就ok了,需要划重点的是这个软件一定要以管理员的身份运行安装!!这个很重要!。 - 导入虚拟机文件(这个文件我是网盘上下载的老师同款的centos7-atguigu.ova,但是听说有的大学会提供虚拟机文件,不局限于这个文件)
- 双击启动linux虚拟机。使用root/123456登陆(这个账号和密码一般都是这个,根据文件不同会不一样)
- 设置虚拟机网络
- 设置好网络以后使用命令重启虚拟机网络
service netword restart
注意如果是centos8则是下面这个命令:
nmcli c reload
- 查看虚拟机ip地址
ip addr
- 使用客户端连接这个虚拟机
在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也有点相同。反正不知不觉发现现在学会了好多东西。自豪一波。
本篇笔记就记到这里,如果稍微帮到你了记得点个喜欢点个关注。另外文中的一些安装包我也都是从网上找的,大家也可以试试。也可以留言或者私聊问我要,祝大家工作顺顺利利!身体健健康康!
网友评论