文章目录
本笔记记录了本人从0801开始学习docker从入门到“精通”的过程,做为学习笔记之用。主要的参考资料有docker官方文档,B站的docker教程。
更新时间 | 更新内容 |
---|---|
2023-08-04 | 镜像搜索、拉取、容器启动步骤 |
一.概念介绍及疑问解答
1.什么是docker
一种虚拟化技术?
官网是这么介绍的
Docker provides a suite of development tools, services, trusted content, and automations, used individually or together, to accelerate the delivery of secure applications.
redhat是这么说的
Docker 是什么?
"Docker"一词指代了多个概念,包括开源社区项目、开源项目使用的工具、主导支持此类项目的公司 Docker Inc.,以及该公司官方支持的工具。这些技术和公司的同名可能会造成混淆。
以下简要说明 Docker 以便区分:
- IT 软件"Docker"是支持创建和使用 Linux® 容器的容器化技术。
- 开源 Docker 社区致力于改进这类技术,并免费提供给所有用户,使之获益。
- Docker Inc. 公司凭借 Docker 社区产品起家,主要负责提升社区版本的安全性,并将技术进步与广大技术社区分享。此外,它还专门对这些技术产品进行完善和安全固化,以服务于企业客户。
我自己理解
docker有多种含义,既是一家公司,也是一个开源社区,最主要的是一种linux容器化技术,能够更快速,更方便的交付并部署各种应用软件.
2.常说的镜像 和 容器有什么区别?
镜像相当于版本包,容器相当于运行的应用实例,可参考java中类和对象的概念
将制作好的镜像运行起来就是容器。
3.docker 和 k8s 又有什么联系?
k8s是一种容器编排管理技术,相当于是生成好的容器进行调度\管理,类似我们正在使用的CCE或者字节云管理工具
docker是一种技术,一种方案,一种实现方式,加强了应用包的打包环节,减少了运维对环境配置环节的操作,可以近似理解为整台虚拟机的快照,就不用手工去处理环境问题或者各种配置问题了(因为已经提前在dockerfile里面写好了 哈哈)
4.docker能做什么?
快速的标准化整完CI/CD流程
二.docker安装
参看官网,很详细,比较简单
本次使用windows10 进行处理,从官网下载docker desktop安装包后直接可以使用,命令在powershell里面直接敲就完事了
下载完成后是用以下命令查看版本信息,做校验
docker version
三.let’s play
1.镜像搜索
#查看本机已有的
docker images
#逛一逛仓库
docker search name
-f is-official=true
-f stars=10
--limit 1
...
2.拉下来
docker pull name
发现下载是分层(layer)的 ,之前有些通用的文件我已经下过了,所以无需再次下载
- 那么每一层到底是什么东西呢 后面在说
3.tomcat,启动
docker run -p 3311:8080 --name=tomcat1 tomcat
为啥呢,我们进入容器里面看看
docker attach id
docker exec -it id
原来默认镜像里面webapps下没有配置,那我们将其修改了,再试试.
果然就可以了,但是有个问题是我们现在如果将容器删除了,修改就没了,下次还要改怎么办?
- 可以将文件卷挂载到本地
- 可以制作自己的版本包