容器和活页夹之间有什么重要的概念区别吗?
Any significant concept difference between container and binder?
我是 Docker 的新手,对容器化的概念感到困惑。我想知道 Docker 容器和 Binder 项目之间的主要区别。这是 Google 搜索的定义:
- Docker 容器是 运行 应用程序的标准化封装环境。
- Binder 或“Binder-ready 存储库”是一个代码存储库,其中包含 运行 的代码和内容,以及 运行 它所需的环境配置文件。
任何人都可以详细说明一下吗?谢谢!
你的困惑是可以理解的。 Docker 本身有很多要遵循的内容,然后添加 Binder,如果你在幕后看,它会变得更加复杂。
需要注意的一个重点是,典型用户对 MyBinder.org 的大部分使用旨在消除这些用户了解 Docker、Docker 文件语法和容器的概念等。您包含使存储库 'Binder-ready' 的 configuration files 的想法是使生成容器更容易,而无需编写dockerfile 使用 dockerfile 语法。您可以或多或少地简单地在 requirements.txt
或 environment.yml
中列出您需要的包,而不处理制作 docker 文件,同时仍然让那些依赖项已经安装在您最终得到的容器中environment.yml
比 requirements.txt
更复杂,因为 .yml
文件有语法,而 requirements.txt
最基本的只是一个列表。用户在启动结束时获得的活动容器对于一般用户而言并不明显。通常,他们应该从启动会话到拥有他们在远程计算机上的活动 JupyterHub 会话中指定的环境。
Binder 结合了相当多的技术,包括 docker 来制作 MyBinder.org work. MyBinder.org is a public BinderHub 这样的东西。 Binderhub 实际上只是集群上的专用 JupyterHub 运行,它使用图像为用户提供容器。
您可以将 MyBinder.org 指向一个存储库,它将启动一个包含该内容的 JupyterHub 会话,以及一个基于存储库中任何配置文件的环境。如果没有任何配置文件,您将拥有内容,但它只会为您提供默认的 Python 堆栈。
Binder 使用 repo2docker 获取存储库并将其变成可以与 docker 一起使用的东西。您可以 运行 repo2docker 自己在自己的机器上本地化,并根据需要使用生成的图像生成 运行ning 容器。
构建的图像指定您从 MyBinder.org 获得的 JupyterHub 上的环境有支持。事实上,您从 MyBinder.org 获得的会话是 Kubernetes 集群上的 运行ning docker 容器 运行ning。
我是 Docker 的新手,对容器化的概念感到困惑。我想知道 Docker 容器和 Binder 项目之间的主要区别。这是 Google 搜索的定义:
- Docker 容器是 运行 应用程序的标准化封装环境。
- Binder 或“Binder-ready 存储库”是一个代码存储库,其中包含 运行 的代码和内容,以及 运行 它所需的环境配置文件。
任何人都可以详细说明一下吗?谢谢!
你的困惑是可以理解的。 Docker 本身有很多要遵循的内容,然后添加 Binder,如果你在幕后看,它会变得更加复杂。
需要注意的一个重点是,典型用户对 MyBinder.org 的大部分使用旨在消除这些用户了解 Docker、Docker 文件语法和容器的概念等。您包含使存储库 'Binder-ready' 的 configuration files 的想法是使生成容器更容易,而无需编写dockerfile 使用 dockerfile 语法。您可以或多或少地简单地在 requirements.txt
或 environment.yml
中列出您需要的包,而不处理制作 docker 文件,同时仍然让那些依赖项已经安装在您最终得到的容器中environment.yml
比 requirements.txt
更复杂,因为 .yml
文件有语法,而 requirements.txt
最基本的只是一个列表。用户在启动结束时获得的活动容器对于一般用户而言并不明显。通常,他们应该从启动会话到拥有他们在远程计算机上的活动 JupyterHub 会话中指定的环境。
Binder 结合了相当多的技术,包括 docker 来制作 MyBinder.org work. MyBinder.org is a public BinderHub 这样的东西。 Binderhub 实际上只是集群上的专用 JupyterHub 运行,它使用图像为用户提供容器。
您可以将 MyBinder.org 指向一个存储库,它将启动一个包含该内容的 JupyterHub 会话,以及一个基于存储库中任何配置文件的环境。如果没有任何配置文件,您将拥有内容,但它只会为您提供默认的 Python 堆栈。
Binder 使用 repo2docker 获取存储库并将其变成可以与 docker 一起使用的东西。您可以 运行 repo2docker 自己在自己的机器上本地化,并根据需要使用生成的图像生成 运行ning 容器。
构建的图像指定您从 MyBinder.org 获得的 JupyterHub 上的环境有支持。事实上,您从 MyBinder.org 获得的会话是 Kubernetes 集群上的 运行ning docker 容器 运行ning。