docker工人 – 每个容器一个进程?
我有时使用Docker进行我的开发工作。 当我这样做的时候,我通常会在tutum的一个开箱的LAMP图像上工作 。
我的问题是:如果它在一个容器中运行多个进程,是否不符合使用Docker的目的? (就像Tutum的LAMP映像启动的容器一样)Docker将整个stream程分离成一个单独的容器不是全部的想法吗?
一般情况下,在这种情况下使用一个容器来处理多个进程是必要的或者更有用的。
这种情况发生在一起使用stream程来完成任务的时候。 我可以想象,例如有人想通过使用ELK(Elasticsearch,Logstash,Kibana)将日志logging添加到Web应用程序的情况。 这些东西一起运行,可以有一个监督进程监视一个容器内的进程。
但在大多数情况下, 最好每个容器使用一个进程 。 什么是更多的docker命令应该开始处理自己,例如运行java应用程序
/usr/bin/java -jar application.jar
除了运行外部脚本:
./launchApplication.sh
请参阅有关问题的讨论http://www.reddit.com/r/docker/comments/2t1lzp/docker_and_the_pid_1_zombie_reaping_problem/ 。
将进程分成不同的容器通常是一个很好的经验法则,但这不是Docker的主要优点/目的。 docker的好处是不变的。 如果把两个进程放到一个容器中,就可以实现更清晰的逻辑。 虽然在这种情况下,我肯定会考虑至less把数据库剥离到自己的容器中,然后通过一个docker链接与之交谈。 每次重build图像时,数据库不应该closures。
- 无法使用Docker Stack和Official WordPress Docker镜像访问正在运行的服务
- 在Docker容器中使用git,composer,oh-my-zsh(UID / GID问题)
- Docker-compose自动同步项目文件
- 如何设置运行Django的AWS Elastic Beanstalk Docker平台?
- docker工人 – 磁盘配额
- Docker容器粒度:SOA还是庞然大物?
- Docker maven插件NullPointerException
- 小型Docker镜像在运行时有多重要?
- 如何使用docker在asp.net内核中创buildangular度4应用程序设置的图像