在使用 docker 的过程中,有时候对镜像和容器这两者的概念一直不是特别清楚,今天在查看了一些资料之后总结如下:
镜像可以理解是:
别人打包好并上传到公共仓库的可以运行的一套静态文件模板,例如,我们将一个springboot项目打包成镜像上传到 Docker Hub 远程仓库等等;
容器可以理解是:
基于镜像运行后生成的一个实例,如果类比在 Java 语言中,镜像就像是接口,容器就像是实现类,镜像定义模板,至于镜像具体要以什么行为方式运行(是单机还是集群、使用什么端口、是否文件挂载等等这些运行配置项)则由开发者自己定义,同一个镜像根据不同行为方式运行得到的容器是不同的,就像一个接口的不同实现类一样,他们都有自己的名字,自己的内容。
Docker镜像是预打包的应用环境,类似于静态文件模板,如SpringBoot项目在DockerHub上的镜像。容器则是基于镜像运行的实例,相当于接口的实现类。镜像定义了运行模板,而容器的具体运行方式(如单机、集群、端口、文件挂载等)由开发者定义,不同的运行配置会产生不同的容器实例。
172

被折叠的 条评论
为什么被折叠?



