Docker基本架构, 2022-10-25

2022-10-25  本文已影响0人  Mc杰夫

(2022.10.25 Tues)
Docker采用了client-server架构,i.e., C/S architecture。Docker客户端(client)连接Docker后台进程(daemon),由后台进程执行 构建、运行分发容器等重任务。客户端与守护进程可在同一系统上运行,也可以分布在不同的主机上。客户端与守护进程通过 REST API通信(Docker engine API),构建与UNIX套接字(socket)或网络接口之上。Docker Compose是Docker客户端之一,可管理多个容器。

架构示意图

dockerarchitecture.png

镜像与容器的关系,如同类与实例。

docker run命令运行案例

docker run -i -t ubuntu /bin/bash

该指令运行了一个ubuntu容器,并打开了其中的bash,可用于执行交互命令(interactively to local command-line session)。执行该命令,使用默认 registry设置,会执行如下判断:

底层技术

Docker使用Go语言实现,利用了Linux内核的诸多特性。DOcker使用了namespaces技术以提供隔离工作空间(isolated workspace),也就是容器。当用户运行容器,Docker为该容器创建了一系列namespaces

namespaces提供了隔离层(layer of isolation)。一个容器的 每个方面都运行一个独立的namespace,并且接入namespace受限(its access is limited to that namespace)。

Reference

1 docs 点 docker 点 com - Docker overview

上一篇下一篇

猜你喜欢

热点阅读