Python 3种不同的应用程序和docker容器
我想首先在Docker中本地设置Kabana和Elastic Search,以显示本地不在Docker容器中的Python web应用程序的日志。不过,在服务器上,Python应用程序位于docker容器中 Kabana和Elastic Search根本不在服务器和本地设置Python 3种不同的应用程序和docker容器,python,docker,containers,Python,Docker,Containers,我想首先在Docker中本地设置Kabana和Elastic Search,以显示本地不在Docker容器中的Python web应用程序的日志。不过,在服务器上,Python应用程序位于docker容器中 Kabana和Elastic Search根本不在服务器和本地设置 是否可以将卡巴纳和弹性Searcn放入不同的docker容器中,还是应将其放入单个容器中?更新:建议使用哪个选项 如果只有一个,卡巴纳和弹性搜索都存在的地方没有docker图像,我该怎么办 他们是否能够从我的Python
- 是否可以将卡巴纳和弹性Searcn放入不同的docker容器中,还是应将其放入单个容器中?更新:建议使用哪个选项
- 如果只有一个,卡巴纳和弹性搜索都存在的地方没有docker图像,我该怎么办
- 他们是否能够从我的Python web应用程序本地检索日志(不在docker容器中),或者我是否也必须将Python应用程序放入容器中?如果是后者,它可以是单独的容器,还是应该和Kibana和Elastic Search放在同一个容器中
- 简单的回答是:是的,你是自己的驯服者,是的
Docker容器可以通过共享卷和网桥进行通信。
就本地python应用程序而言,这取决于实现。如果要写入本地文件,那么卷是最好的方法。卷是映射到容器内路径的本地主机目录
如果是通过网络协议进行的,那么需要公开容器的端口,以便python应用程序可以访问它
现在,关于你关于可能塑造自己形象的问题。这是相当容易做到的。首先,我将创建一个名为“Dockerfile”的文件,其中包含一个类似Ubuntu的基本图像
FROM ubuntu:14.04
然后我会添加install命令来安装所需的软件包
RUN apt-get update && apt-get install openjdk-7-jre
RUN apt-get install ... (etc)
基本上,您希望在Dockerfile
我将尝试回答您的问题:
elasticsearch:
image: elasticsearch
ports:
- 9200:9200
kibana:
image: kibana
ports:
- 5601:5601
environment:
- ELASTICSEARCH_URL=http://elasticsearch:9200
links:
- elasticsearch
把kibana和elastic放在一个单独的容器里好还是放在同一个容器里好?@Dett是的,分开它们会更容易。如果需要扩展,它会使管理更容易。1)推荐哪种选择?我真的更喜欢使用单独的容器。因为这样,我可以更好地管理应用程序。我可以只做
docker运行elasticsearch
和docker运行kibana
,然后从那里手动将日志提供给elasticsearch并在kibana中查看结果吗?是的!你可以做到。但是,您需要了解通信是如何工作的。请参阅此文档->