Docker体系结构和Docker镜像

Docker的体系架构

Docker 的核心组件包括:

Docker 客户端:Client

Docker 服务器:Docker daemon

Docker 镜像:Image

Registry:镜像仓库

Docker 容器:Container

Docker 架构如图所示

Docker采用的是Client/Server 架构。客户端向服务器发送请求,服务器负责构建、运行和分发容器。客户端和服务器可以运行在同一个Host 上。

1)Docker客户端

Docker客户端通过命令行或者其他工具使Docker API

(https://docs.docker.com/reference/api/docker_remote_api) 与 Docker 的守护进程通信。最常用的Docker客户端是docker命令。通过docker我们可以方便地在Host上构建和运行容器。

2)Docker服务器

Docker 主机(Host)一个物理或者虚拟的机器用于执行 Docker 守护进程和容器。

Docker daemon是服务器组件,以Linux后台服务的方式运行

Docker daemon运行在Docker host上,负责创建、运行、监控容器,构建、存储镜像。默认配置下,Docker daemon只能响应来自本地Host的客户端请求。如果要允许远程客户端请求,需要在配置文件中打开TCP监昕,步骤如下:

(1)编辑配置文件/etc/systemd/system/multi-user.target.wants/docker.service,在环境变量ExecStart后面添加-H tcp://0.0.0.0

如果使用的是其他操作系统,配置文件的位置可能会不一样。

(2)重启Docker daemon

 查看docker进程和监听

3)Docker镜像

Docker 镜像是用于创建Docker容器的模板。可将Docker镜像看成只读模板,类似于安装系统用到的那个iso文件,我们通过镜像来完成各种应用的部署。通过它可以创建Docker容器。例如某个镜像可能包含一个Apache HTTP Server以及用户开发的Web应用。

镜像有多种生成方法:(1)从无到有开始创建镜像 (2)下载并使用别人创建好的现成的镜像 (3)在现有镜像上创建新的镜像。

可以将镜像的内容和创建步骤描述在一个文本文件中,这个文件被称作Dockerfile,通过执行docker build <docker-file>命令可以构建出Docker镜像,后面我们会讨论。

4)Docker容器

Docker容器就是Docker镜像的运行实例,容器是独立运行的一个或一组应用。容器可以被启动、开始、停止、删除等操作,每个容器都是相互隔离的。可以把容器看做是一个简易版的linux环境(包括root用户权限、进程空间、用户空间和网络空间等)和运行在其中的应用程序。

用户可以通过CLI(Docker)或是API启动、停止、移动或删除容器。可以这么认为,对于应用软件,镜像是软件生命周期的构建和打包阶段,而容器则是启动和运行阶段。

5)Registry镜像仓库

Registry是存放Docker镜像的仓库,Registry分私有和公有两种。

Docker Hub (https://hub.docker.com/)是默认的Registry,由Docker公司维护,上面有数以万计的镜像,用户可以自由下载和使用。

出于对速度或安全的考虑,用户也可以创建自己的私有Registry,后面我们会学习如何搭建私有Registry。

docker pull命令可以从Registry下载镜像。

docke run命令则是先下载镜像(如果本地没有),然后再启动容器。

[root@docker ~]# docker run -d -p 80:80 httpd

(1)Docker客户端执行docker run命令

(2)Docker daemon发现本地没有httpd镜像

(3) docker daemon从Docker Hub下载镜像httpd

(4)下载完成,镜像httpd被保存到本地

(5)Docker daemon启动容器

docker images可以查看到httpd已经下载到本地

[root@docker ~]# docke images

 docker ps或者docker container ls显示容器正在运行

[root@docker ~]# docke ps

[root@docker ~]# docke container ls

docker镜像

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值