docker - Docker,我有一个包含应用程序服务器的文件夹。什么可以用作容器?

标签 docker containers

我想问一下,是否有一个包含应用程序服务器的文件夹(Axis2,Tomcat,WSO2,mongodb和jms-consumer)可以用作容器吗?

Docker是否是应用程序安装程序?它将整个应用程序分类,因此将1用作安装程序文件,例如:Windows的server.exe,ubuntu的server.deb
能帮忙解释一下吗?

最佳答案

Docker as an application installer?



否,docker是一个平台,可围绕构建,运输和运行(Containers as a Service)管理容器(运行主机内核的隔离的用户/进程/磁盘计算机)。

最佳实践是将全局服务的每个部分都隔离在自己的容器中,这不仅是因为PID1 zombie reaping issue(在“Use of Supervisor in docker”中详细说明),而且还因为易于管理和更新。
如果每个组件仅代表一个Tomcat,一个MongoDB,一个...,则每个组件都更易于管理/调试,而不是拥有一个巨型容器。
同样,您可以停止/更新一个而不一定要修改所有其他内容。

类似于安装的部分是使用 Dockerfile 来描述您的环境(包括操作系统和要添加到容器中的应用程序):描述您的环境将需要运行的内容。
这有助于构建图像(需要的所有文件的一种存档),您可以从中镜像一个容器。

目前,这些容器仅在Linux内核主机(或Windows,通过Linux VM)上作为Linux计算机运行。
您还没有在Windows上运行的纯Windows镜像/容器(Windows Server 2016正在进行中)。

那么,您可以仅将一个巨型文件夹中的内容放入一个Docker容器中吗?

不直接。 Dockerfile的目标是描述如何安装所需的东西。
然后,您输入docker run,并从获得的图像中获取docker build

但是为了使Docker正确管理该容器的生命周期,最好将容器限制为一个进程(而不是使用trynig在同一个容器空间中运行webapp服务器,mongodb等所有内容)

这意味着:
  • 在单独的Dockerfile中描述系统的每个组件(构建单独的镜像)
  • 以它们彼此可见并相互通信的方式运行这些容器。

  • 您有一个 docker run 的示例。

    关于docker - Docker,我有一个包含应用程序服务器的文件夹。什么可以用作容器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33887416/

    相关文章:

    jboss - Wildfly CLI - 禁用环境变量解析?即将未解析的变量写入配置

    java - 如何使用 python 和 Java 运行 Docker?

    networking - 通过 SFTP 将文件发送到 Docker 容器

    linux - 连接到 docker 容器中的特定 shell 实例?

    docker - DC/OS 计划容器更新

    php - Wordpress导致Docker崩溃

    docker - Docker “docker-entrypoint-initdb.d”脚本未执行

    c++ - 传递迭代器而不是容器

    java - 使用 Fat Jars 相对于容器的优点

    html - 隐藏在其他容器后面的容器