这一节我们来稍微了解下docker原理性的东西
1
|
docker run -i -t ubuntu /bin/bash
|
输入上面这行命令,启动一个ubuntu容器时,到底发生了什么?
大致过程可以用下图描述:
首先系统要有一个docker daemon的后台进程在运行,当刚才这行命令敲下时,
1. docker client(即:docker终端命令行)会调用docker daemon请求启动一个容器,
2. docker daemon会向host os(即:linux)请求创建容器
3. linux会创建一个空的容器(可以简单理解为:一个未安装操作系统的裸机,只有虚拟出来的CPU、内存等硬件资源)
4. docker daemon请检查本机是否存在docker镜像文件(可以简单理解为操作系统安装光盘),如果有,则加载到容器中(即:光盘插入裸机,准备安装操作系统)
5. 将镜像文件加载到容器中(即:裸机上安装好了操作系统,不再是裸机状态)
最后,我们就得到了一个ubuntu的虚拟机,然后就可以进行各种操作了。
如果在第4步检查本机镜像文件时,发现文件不存在,则会到默认的docker镜像注册机构(即:docker hub网站)去联网下载,下载回来后,再进行装载到容器的动作,即下图所示
另外官网有一张图也很形象的描述了这个过程:
参考文章:
https://www.gitbook.com/book/joshhu/docker_theory_install/details
https://docs.docker.com/engine/introduction/understanding-docker/
相关推荐
【深度学习】clip-interrogator clip docker 容器启动过程
Docker学习之CentOS 7安装配置 Docker 是一个开源工具,可以让创建和管理 Linux 容器变得简单。容器就像是轻量级的虚拟机,并且可以以毫秒级的速度来启动或停止。Docker 帮助系统管理员和程序员在容器中开发应用...
对于初学者而言,了解Docker的基本命令是学习过程中的重要一步。例如,`docker version`命令用于验证Docker客户端和守护进程是否安装成功并运行。而`docker run`命令则是用来运行容器的。在使用Docker之前,一般需要...
Docker Compose 文件可以存储应用程序的容器配置信息、依赖关系和启动命令等信息。使用 Docker Compose 文件可以帮助开发者快速定义和部署多容器应用程序。 本篇文章详细讲解了如何使用 SpringCloudAlibaba 框架...
不过需要注意的是,`docker attach`只是进入容器终端,并不会启动新的进程。如果在连接过程中使用了`ctrl+c`,这会导致容器退出,而且还会stop容器。因此,如果想要在断开连接后容器继续运行,可以使用`--sig-proxy=...
- **运行**: 容器启动后即进入运行状态。 - **停止**: 使用适当的命令安全地停止容器,以避免数据丢失或服务中断。 - **删除**: 清理不再需要的容器,释放资源。 #### 如何停止 Docker 容器 1. **优雅停止**: - ...
3. **程序的高可移植性**:由于 Docker 容器化了应用程序及其依赖,程序可以在任何支持 Docker 的平台上运行,无论是在公有云、私有云还是本地服务器,保持一致的行为。这极大地提高了软件的可移植性和部署的灵活性...
* 容器管理包括容器的创建、启动、停止和删除等操作。 * 容器可以理解为一个系统的安装包,可以理解为一个开机的系统。 五、Docker + PyCharm 配置 GPU 远程开发环境 * 使用 Docker 可以轻松地搭建 GPU 远程开发...
1. 学习和掌握Docker容器的基本工作原理。 2. 掌握在Ubuntu系统中Docker容器的创建与基本操作。 【实验设计】: 实验主要分为三个部分:Docker的安装、设置管理员权限以及容器的创建、启动和互联。 1. Docker安装...
在本节中,我们将学习 Docker 的安装过程和基本概念。Docker 是一个容器化平台,允许开发者在容器中打包、ship 和运行应用程序。下面是 Docker 安装和基本概念的知识点: Docker 安装 在CentOS 系统上安装 Docker ...
### Docker学习笔记 #### Docker简介 Docker 是一种开源的应用容器引擎,允许开发者打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱...
Docker的配置和使用涉及到多个方面,包括安装Docker、管理镜像、运行容器、配置网络和数据卷等。...使用docker run命令基于镜像创建并启动一个新的容器。 查看运行中的容器: 使用docker ps命令列出正在运行的容器。
3. 安装完成后,启动Docker服务,使用命令`systemctl start docker`。 4. 要确保Docker在系统启动时自动运行,可以执行`systemctl enable docker`。 在安装Docker后,可能需要对其进行配置,特别是当你发现默认的...
安装完`nvidia-docker2`后,还需要启用NVIDIA Docker插件,并通过`docker run`命令使用`--gpus all`选项来启动一个带有GPU支持的容器。 总的来说,离线安装`nvidia-docker2`是一个涉及文件解压、目录切换和DEB包...
随着容器技术的不断发展,Docker作为其中的佼佼者,已经被广泛应用于软件开发、测试和部署等多个环节。对于Windows用户而言,通过DockerToolBox安装Docker是一种简单且有效的方法。本文档将详细介绍在Windows环境下...
Docker技术使得应用可以被打包、分发和部署在隔离的容器中,与虚拟机相比,容器更加轻量级,能够更快启动并更有效地利用系统资源。 对于读者可能提出的疑问,比如"我为什么要读这本书,或者为什么我应该关心Docker...
接下来是描述"Docker学习(3)-CentOS安装Docker及Docker-Compose",这意味着我们将同时安装Docker引擎和Docker Compose两个组件。Docker引擎是容器化的基础,而Docker Compose则是一个用于定义和运行多容器Docker...