
一、docker作用
本文前提:关于docker的概念可能你看到这几个字时还不太理解,现在我将以我的视角去解读这个内容,个人观点,经供参考!(不知道怎么安装docker的联系主包)
docker解决的最基础问题:docker解决的是配置问题,比如一个超级简单的例子,你同学可以在他的电脑上运行hello world,但是你把他代码拷贝到你电脑上就不行。其根本原因是你的电脑和他的电脑上代码环境配置不同,由此,docker起作用了。你同学把他的代码放在docker上面,然后你从docker上面去pull,然后运行run,会得到一致的结果(解决配置不同问题)。
那么要了解docker,目的说完了,docker由什么组成,怎么来的?怎么用?
docker怎么来的我觉得你都在看我这个帖子了,不用说它历史也足够,来实用的。
二、docker组成(三大核心)
1、镜像
镜像是静态的,改变不了,相当于是一个模板。举个例子:
你喜欢玩拼豆,你从老板那里买来,然后打开盒子里面有,豆子,还有豆子放置的位置图示。OK,这两个合在一起就是镜像。(此时你还没有开始任何操作)
2、容器
容器是可以读写的,可以操作数据的,动态的。举个例子:
你开始操作,你利用豆子还有图示,开始拼好了你的第一个拼豆作品!(这个成果就是你在docker运行的容器,一个镜像可以启动多个容器)
3、仓库
仓库是存放镜像和容器的。也就是你自己收纳玩具的盒子。举个例子:
你已经玩了好一会儿拼豆了,现在你手上还有没有用的豆子和图示,但是你现在不想玩了,你就把他们放在了这个收纳的盒子里。这个就是仓库
上述说明了docker的组成和概念,比较浅显。接下来说一下docker的进一步:
三、docker示例和常见指令、操作步骤
docker你在本地下载安装后,你说,镜像是怎么来的?很好,镜像是运行的基础,动起来就是容器,放起来就是仓库的作用。
镜像来自于docker hub,官网的,一般来说,docker怎么知道我要用什么环境?docker 会去根据你的命名来进行官网下载去用。例如,官网来进行一下例子:
docker pull hello-world #从官网拉取一个叫做"hello-world"的镜像示例
docker run hello-world #运行这个镜像
这里你注意一下,docker 的命令组成是:
docker 动作 项目 #我理解的是 docker 要干嘛?
#例如,上述我们要让docker运行hello-world
#第一步、docker主人
#第二步、pull拉取
#第三步、项目
#主谓宾,docker 拉 你的镜像项目
其中可能你得先解决网络配置问题,这个问题让ai给你解决,简单,不难,加点[network]什么的
这样就pull到官网的hello-world项目了
然后运行
这样就运行好啦!标志是左侧的小绿点,还有"Hello from Docker!"
OK,你已经完成计算机世界的第一步了!回头思考,这个过程对应的概念是什么?
我从docker官网pull了一个hello-world项目的镜像,然后在docker上运行这个容器(动起来就是容器),然后这个镜像和容器放在了我的本地仓库里:
docker ps #来查看这个正在运行的容器
docker ps -a #查看有过的容器

这里需要注意的是,看到这个"container id"没有,这是容器的唯一标识符,可以理解为数据库的唯一主键,后续操作很多都在利用这个!
这个图片能显示很多信息,譬如ip地址,还有端口号,tcp链接方式,后面那个minikube是我本地的k8s的,这里不用管
我们现在来查看这个项目的镜像:
docker images #查看镜像

看到这个hello-world就是我们项目的镜像。说明在本地没有一点点问题。
ok,现在我们进行常规的删除镜像和容器(先删除容器id再删镜像id、两个id不一致的),记住,这里有两个命令:
docker rmi -f hello-world #删除镜像 -f有强制删除的意思force
docker rm -f hello-world #删除容器
先查看
docker ps
docker ps -a
当然,这里有一个巧合,hello-world是一个测试镜像,运行完之后就自动退出容器了,(正常先使用docker stop 容器id先停止,然后再删除)所以你的docker ps应该是没有内容的:

所以我们使用下一个去直接删除镜像就可以了!

查看到目前我有三个hello-world容器运行过,我们现在删除他,删除容器id

我们删除第一个id前面3位为4a0的容器,注意看一下图片我的命令。
然后进行查看docker ps -a

可以看到4a0的id容器已经被我们删除了。同理,删除其他两个hello容器,这个操作简单。
删除完之后,我们进行删除镜像。
docker images #查看镜像
docker rmi hello-world

删除之后可以看到sha256,删除成功,现在我们检验一下删除了没有

删除成功,OK!总结一下今天我们做了什么:
1、知道了docker工作的目的
2、docker组成概念
3、docker常见命令
docker pull hello-world
docker run hello-world
docker ps
docker ps -a
docker images
docker rm -f hello-world
docker rmi -f hello-world
#知道这些是做什么的吗?
谢谢阅读!