最近学了下docker,要说特别懂吧也没有,但是总想总结下,如果总结知识把看到的书上的或者是其他博客的搬过来,感觉也没什么意思,就跟着自己的思路随便写写吧。
镜像images
是什么
听到镜像我第一印象是操作系统的iso镜像文件,那对镜像的理解就是一个包,这个包安装运行,就能提供服务,docker的镜像也是,不同的镜像放在容器里面跑,就提提供什么样的服务,包里面有服务的文件和服务依赖的文件,不管是redis,mysql,还是自己的springboot服务,都需要liunx系统上布置,一般镜像里面都会有一个小的liunx系统。
如何使用
要和容器配合使用,用docker run 就能新建一个容器,把镜像放到容器里面跑,就能提供服务,非常方便
如何自己生成镜像
写dockerfile文件,docker build就能生成image镜像文件
镜像仓库
这个仓库就是放镜像的,模式和maven 仓库,首先docker官网有仓库,各大公司如阿里,网易,也有仓库,因为网络原因,一般都会配置中国的一个仓库,还有就是公司也可以创建公司的仓库,本地有一个仓库。
容器Containers
是什么
用来跑镜像的,打包好的镜像需要新建一个容器来跑,一个镜像可以放到多个容器里面跑,比如要多个一样的服务,要一个镜像就可以,镜像只读不写。如果需要修改镜像需要重新打包
如何使用
docker run可以跑 stop可以停止 然后重新开始用start
网络network
是什么
多个容器之间需要通信,比如mysql主从集群,肯定要有数据同步,同步就需要网络,网络分三种,用的最多的就是bridge模式,创建容器的时候如果把多个容器放到同一个网络,就能互相通信,一个容器可以放到多个网络中,所以一个容器可能有多个IP地址
如何使用
在docker run 的时候 用 --network参数就可以配置网络
持久化
原理
比如mysql写入数据库数据肯定要持久化,这些数据会打包成一个文件,放到主机上,这个是真正的服务器目录上,这个打包的文件和容器中的目录会有连接,在容器中能访问到。
后记
随便写写