Docker引擎是用来运行和管理容器的核心软件,其主要的组件构成有:Docker客户端(Docker Client)、Docker守护进程(Docker deamon)、containerd和runc。
本教程操作环境:linux5.9.8系统、docker-1.13.1版、Dell G3电脑。
1. Docker引擎简介
Docker引擎是用来运行和管理容器的核心软件
Docker 引擎由许多专用的工具协同工作,从而可以创建和运行容器,例如 API、执行驱动、运行时、shim 进程等。
- Docker引擎主要的组件构成:Docker客户端(Docker Client), Docker守护进程(Docker deamon),containerd以及runc。
2. Docker引擎详解
- Docker首次发布时,由两个核心组件构成:LXC和Docker daemon。
- Docker daemon是单一的二进制文件,包含诸如Docker客户端,Docker API,容器运行时,镜像构建等。
- LXC提供了对诸如命名空间和控制组(CGroup)等基础工具的操作能力,它们是基于Linux内核的容器虚拟化技术。在 Docker 0.9 版本中,Libcontainer 取代 LXC 成为默认的执行驱动。
2.1. Docker daemon
- Docker daemon整体性带来的越来越多的问题:
- 难于变更
- 运行越来越慢
- 这并非生态公司所期望的
- daemon使用一种CRUD风格的API,通过gRPC与containerd进行通信
2.2. runc
- runc实质上是一个轻量级的,针对Libcontainer进行了包装的命令行交互工具。
- runc作用:创建容器
2.3. containerd
- 主要作用:容器的生命周期管理–start|stop|pause|rm…
2.4. shim
- shim是实现无daemon的容器不可或缺的工具,runc每次创建新容器,都会fork一个新的runc实例,一旦容器创建完毕,对应的runc进程就会退出。
- 一旦父进程runc退出,相关联的container-shim进程就会成为容器的父进程
- shim的部分职责:
- 保持所有STDIN和STDOUT流是开启状态,从而当daemon重启的时候,容器不会因为管道的关闭而终止。
- 将容器的退出状态反馈给daemon。
2.5. 在Linux上的实现
- dockerd(Docker daemon), docker-containerd(containerd), docker-containerd-shim(shim)和docker-runc(runc)都是由单独的二进制实现。
2.6. daemon的作用
- 主要功能:镜像管理,镜像构建,REST API, 身份验证,安全,核心网络以及编排。
推荐学习:《docker视频教程》
以上是docker引擎是什么的详细内容。更多信息请关注PHP中文网其他相关文章!

Docker在Linux上可以简化应用部署和管理。1)Docker是容器化平台,将应用及其依赖打包进轻量、可移植容器。2)在Linux上,Docker利用cgroups和namespaces实现容器隔离和资源管理。3)基本用法包括拉取镜像和运行容器,高级用法如DockerCompose可定义多容器应用。4)调试常用dockerlogs和dockerexec命令。5)性能优化可通过多阶段构建减小镜像大小,保持Dockerfile简洁是最佳实践。

Docker是一种基于Linux容器技术的工具,用于打包、分发和运行应用,提升应用的可移植性和可扩展性。1)通过dockerbuild和dockerrun命令,可以构建和运行Docker容器。2)DockerCompose用于定义和运行多容器的Docker应用,简化微服务管理。3)使用多阶段构建可以优化镜像大小,提升应用启动速度。4)查看容器日志是调试容器问题的有效方法。

Docker 容器启动步骤:拉取容器镜像:运行 "docker pull [镜像名称]"。创建容器:使用 "docker create [选项] [镜像名称] [命令和参数]"。启动容器:执行 "docker start [容器名称或 ID]"。检查容器状态:通过 "docker ps" 验证容器是否正在运行。

查看 Docker 日志的方法包括:使用 docker logs 命令,例如:docker logs CONTAINER_NAME使用 docker exec 命令运行 /bin/sh 并查看日志文件,例如:docker exec -it CONTAINER_NAME /bin/sh ; cat /var/log/CONTAINER_NAME.log使用 Docker Compose 的 docker-compose logs 命令,例如:docker-compose -f docker-com

可以通过以下步骤查询 Docker 容器名称:列出所有容器(docker ps)。筛选容器列表(使用 grep 命令)。获取容器名称(位于 "NAMES" 列中)。

在 Docker 中创建容器: 1. 拉取镜像: docker pull [镜像名] 2. 创建容器: docker run [选项] [镜像名] [命令] 3. 启动容器: docker start [容器名]

退出 Docker 容器的四种方法:容器终端中使用 Ctrl D 快捷键容器终端中输入 exit 命令宿主机终端中使用 docker stop <container_name> 命令宿主机终端中使用 docker kill <container_name> 命令(强制退出)

Docker 中将文件拷贝到外部主机的方法:使用 docker cp 命令:执行 docker cp [选项] <容器路径> <主机路径>。使用数据卷:在主机上创建目录,在创建容器时使用 -v 参数挂载该目录到容器内,实现文件双向同步。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

WebStorm Mac版
好用的JavaScript开发工具

记事本++7.3.1
好用且免费的代码编辑器

EditPlus 中文破解版
体积小,语法高亮,不支持代码提示功能

SublimeText3汉化版
中文版,非常好用

VSCode Windows 64位 下载
微软推出的免费、功能强大的一款IDE编辑器