Docker容器和镜像
Docker容器是镜像的运行实例。可以使用命令行界面(CLI)命令运行,如启动,停止,移动或删除容器。还可以为网络和环境变量提供配置。Docker容器是一个独立且安全的应用平台,但它可以共享和访问在不同的主机或容器中运行的资源。
镜像是一个只读模板,其中包含创建Docker容器的说明。Docker文件描述了Docker镜像,Dockerfile具有简单明了的语法。镜像没有状态,永远不会改变。Docker Engine提供核心Docker技术,支持镜像和容器。
可以借助以下命令了解容器和镜像。
docker run hello-world
上述命令docker run hello-world有三个部分。
1.docker:它是docker引擎,用于运行docker程序。它向操作系统通知指定运行docker程序。2.run:此子命令用于创建和运行docker容器。3.hello-world:这是一个镜像的名称。需要指定要加载到容器中的镜像的名称。
镜像可以理解为一种构建时(build-time)结构,而容器可以理解为一种运行时(run-time)结构,如下图所示。
镜像仓库服务
Docker 镜像存储在镜像仓库服务(Image Registry)当中。
Docker 客户端的镜像仓库服务是可配置的,默认使用 Docker Hub。
镜像仓库服务包含多个镜像仓库(Image Repository)。同样,一个镜像仓库中可以包含多个镜像。
可能这听起来让人有些迷惑,所以下图展示了包含 3 个镜像仓库的镜像仓库服务,其中每个镜像仓库都包含一个或多个镜像。
官方和非官方镜像仓库
Docker Hub 也分为官方仓库(Official Repository)和非官方仓库(Unofficial Repository)。
顾名思义,官方仓库中的镜像是由 Docker 公司审查的。这意味着其中的镜像会及时更新,由高质量的代码构成,这些代码是安全的,有完善的文档和最佳实践。
非官方仓库更像江湖侠客,其中的镜像不一定具备官方仓库的优点,但这并不意味着所有非官方仓库都是不好的!非官方仓库中也有一些很优秀的镜像。
在信任非官方仓库镜像代码之前需要我们保持谨慎。说实话,读者在使用任何从互联网上下载的软件之前,都要小心,甚至是使用那些来自官方仓库的镜像时也应如此。
大部分流行的操作系统和应用在 Docker Hub 的官方仓库中都有其对应镜像。这些镜像很容易找到,基本都在 Docker Hub 命名空间的顶层。
相关文章
- 谷歌自研Fuchsia OS将兼容安卓:亦可在x86体系运行
- 为什么程序员们愿意在GitHub上开源自己的成果?
- 所有手机都搭上了AI的车,可为什么你就不屑呢?
- 软件正在蚕食世界,而开发者的价值观成了较大的 Bug
- 30多年的编码经验浓缩成的10条实践
- 企业微信缘何不敌钉钉?
- Google发布其非Linux系操作系统Fuchsia说明书
- 为什么软件开发,人多,事少,还会工作量大?
- iOS从实际出发理解多线程
- 全国首批手机版“电子营业执照”试点:支付宝小程序可领用
- 以前搞化学,自学编程9个月后,我成了年薪6位数的软件工程师
- 360互联网技术训练营第九期——360容器技术解密与实践
- 手机圈AI乱象丛生 手机AI如何去伪存真?
- iPhone升级iOS 11.3:无法读取第三方电池健康状况
- 如何让你的代码好维护
- iOS开发3年只用5分钟搞定面试官
- 谷歌禁止非认证安卓设备运行自家APP 国产手机咋办?
- iOS不这样写简历,都找不到工作了
- 民间高手帮苹果搞设计:如何让iOS 11的通知栏更好用?
- 谷歌高管:安卓系统现在和iOS一样安全 甚至更好