mor*_*676 2 docker dockerfile docker-compose
我有点困惑,我试图将弹性 kibana 的 dockercompose 转换为 dockerfile。但网络部分和连接部分让我有点困惑。任何人都可以帮助我进行转换和一些解释。
多谢!
version: "3.0"
services:
elasticsearch:
container_name: es-container
image: docker.elastic.co/elasticsearch/elasticsearch:6.5.4
environment:
- xpack.security.enabled=true
- "discovery.type=single-node"
networks:
- es-net
ports:
- 9200:9200
kibana:
container_name: kb-container
image: docker.elastic.co/kibana/kibana:6.5.4
environment:
- ELASTICSEARCH_HOSTS=http://es-container:9200
networks:
- es-net
depends_on:
- elasticsearch
ports:
- 5601:5601
networks:
es-net:
driver: bridge
Run Code Online (Sandbox Code Playgroud)
Docker Compose 和 Dockerfile 是完全不同的东西。这Dockerfile是用于创建 Docker 映像的配置文件。该docker-compose.yml文件是 Docker Compose 使用 Docker 映像启动 Docker 容器的配置文件。
要在不使用 Docker Compose 的情况下启动上述容器,您可以运行:
docker network create es-net
docker run -d -e xpack.security.enabled=true -e "discovery.type=single-node" -p 9200:9200 --network es-net --name es-container docker.elastic.co/elasticsearch/elasticsearch:6.5.4
docker run -d -e ELASTICSEARCH_HOSTS=http://es-container:9200 -p 5601:5601 --network es-net --name kb-container docker.elastic.co/kibana/kibana:6.5.4
Run Code Online (Sandbox Code Playgroud)
或者,您可以在主机网络堆栈(而不是网络)上运行容器es-net。然后 Kibana 就可以与本地主机上的 ElasticSearch 对话:
docker run -d -e xpack.security.enabled=true -e "discovery.type=single-node" --network host --name es-container docker.elastic.co/elasticsearch/elasticsearch:6.5.4
docker run -d -e ELASTICSEARCH_HOSTS=http://localhost:9200 --network host --name kb-container docker.elastic.co/kibana/kibana:6.5.4
Run Code Online (Sandbox Code Playgroud)
(我实际上没有运行这些命令,因此命令可能需要一些调整)。
| 归档时间: |
|
| 查看次数: |
1808 次 |
| 最近记录: |