Docker,我有一个包含应用程序服务器的文件夹。什么可以用作容器?
Docker, I have one folder that contains the application server. What can be used as a container?
我想问一下,如果我有一个包含应用服务器(Axis2、Tomcat、WSO2、mongodb和jms-consumer)的文件夹,可以用什么作为容器?
Docker是应用程序安装程序吗?它对整个应用程序进行分类,因此 1 然后用作安装程序文件,例如:server.exe
代表 windows,server.deb
代表 ubuntu
能帮忙解释一下吗?
Docker as an application installer?
不,docker 是一个管理容器(隔离 user/process/disk 机器 运行 主机内核)的平台,围绕构建、运输和 运行 宁().
最佳做法是将全局服务的每个部分隔离在自己的容器中,这既是因为 PID1 zombie reaping issue (detailed in ""),也是为了便于管理和更新。
如果每个组件只代表一个Tomcat、一个MongoDB、一个...,每个组件更容易manage/debug,而不是一个巨大的容器
您也可以 stop/update 一个而不必影响 所有 其他
类似安装的部分是对您的环境的描述(包括 OS 和您要添加到容器中的应用程序)以及 Dockerfile :描述您的环境需要什么 运行。
这有助于构建图像(您需要的所有文件的某种归档),您可以从中 docker run
一个容器。
现在,这些容器仅 运行 作为 Linux 机器在 Linux 内核主机上(或在 Windows 上,通过 Linux 虚拟机) .
您还没有 Windows images/containers 运行 在 Windows 上的纯 Windows images/containers(它正在进行中,使用 Windows Server 2016)。
那么你能不能把你在一个巨大文件夹里的东西放到一个 docker 容器里?
不直接。 Dockerfile 的目标是描述您将如何安装所需的内容。
然后你 docker build
,从你得到的图像,你 docker run
.
但是为了 docker 正确管理该容器的生命周期,最好将容器限制为一个进程(而不是像 webapp 服务器一样尝试 运行 所有东西, a mongodb, 以此类推在同一个容器中 space)
这意味着:
- 在单独的 Dockerfile 中为系统的每个组件进行描述(构建单独的映像)
- 运行以一种让这些容器相互看到并相互通信的方式连接这些容器。
我想问一下,如果我有一个包含应用服务器(Axis2、Tomcat、WSO2、mongodb和jms-consumer)的文件夹,可以用什么作为容器?
Docker是应用程序安装程序吗?它对整个应用程序进行分类,因此 1 然后用作安装程序文件,例如:server.exe
代表 windows,server.deb
代表 ubuntu
能帮忙解释一下吗?
Docker as an application installer?
不,docker 是一个管理容器(隔离 user/process/disk 机器 运行 主机内核)的平台,围绕构建、运输和 运行 宁(
最佳做法是将全局服务的每个部分隔离在自己的容器中,这既是因为 PID1 zombie reaping issue (detailed in "
如果每个组件只代表一个Tomcat、一个MongoDB、一个...,每个组件更容易manage/debug,而不是一个巨大的容器
您也可以 stop/update 一个而不必影响 所有 其他
类似安装的部分是对您的环境的描述(包括 OS 和您要添加到容器中的应用程序)以及 Dockerfile :描述您的环境需要什么 运行。
这有助于构建图像(您需要的所有文件的某种归档),您可以从中 docker run
一个容器。
现在,这些容器仅 运行 作为 Linux 机器在 Linux 内核主机上(或在 Windows 上,通过 Linux 虚拟机) .
您还没有 Windows images/containers 运行 在 Windows 上的纯 Windows images/containers(它正在进行中,使用 Windows Server 2016)。
那么你能不能把你在一个巨大文件夹里的东西放到一个 docker 容器里?
不直接。 Dockerfile 的目标是描述您将如何安装所需的内容。
然后你 docker build
,从你得到的图像,你 docker run
.
但是为了 docker 正确管理该容器的生命周期,最好将容器限制为一个进程(而不是像 webapp 服务器一样尝试 运行 所有东西, a mongodb, 以此类推在同一个容器中 space)
这意味着:
- 在单独的 Dockerfile 中为系统的每个组件进行描述(构建单独的映像)
- 运行以一种让这些容器相互看到并相互通信的方式连接这些容器。