docker 已部署elasticsearch服务端口为9200的情况下 docker-compose 再部署 elasticsearch服务
时间: 2023-06-12 18:06:40 浏览: 134
如果在同一台机器上已经有一个运行中的 Elasticsearch 服务并且使用了 9200 端口,那么在使用 Docker Compose 部署 Elasticsearch 时,需要指定一个不同的端口。可以在 `docker-compose.yml` 文件中的 Elasticsearch 服务定义中指定一个新的端口,如下所示:
```
version: '3'
services:
elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch:7.13.2
container_name: elasticsearch
ports:
- "9201:9200" # 这里指定了新的端口为 9201
environment:
- node.name=es-node
- cluster.name=es-cluster
- discovery.type=single-node
```
在上面的配置中,将 Elasticsearch 服务的容器端口映射到了本地的 9201 端口。这样,就不会和已经运行的 Elasticsearch 服务的端口冲突了。
相关问题
docker 已部署elasticsearch服务端口为9200的情况下 docker-compose 再部署 ELK7.4.2 详细版 kibana汉化
以下是在已经部署了Elasticsearch服务,端口为9200的情况下,使用docker-compose部署ELK7.4.2详细版并进行Kibana汉化的步骤:
1. 创建一个新的文件夹,命名为elk,用于存放docker-compose.yml文件和相关配置文件。
2. 在elk文件夹中创建一个新的文件,命名为docker-compose.yml,内容如下:
```yml
version: '3'
services:
elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch:7.4.2
container_name: elasticsearch
environment:
- discovery.type=single-node
ports:
- 9200:9200
- 9300:9300
volumes:
- esdata:/usr/share/elasticsearch/data
networks:
- elk
kibana:
image: docker.elastic.co/kibana/kibana:7.4.2
container_name: kibana
environment:
ELASTICSEARCH_URL: http://elasticsearch:9200
ELASTICSEARCH_HOSTS: http://elasticsearch:9200
ports:
- 5601:5601
networks:
- elk
volumes:
esdata:
driver: local
networks:
elk:
driver: bridge
```
3. 在elk文件夹中创建一个新的文件夹,命名为kibana,用于存放Kibana的配置文件。
4. 进入kibana文件夹,创建一个新的文件,命名为kibana.yml,内容如下:
```yml
server.name: kibana
server.host: "0.0.0.0"
elasticsearch.hosts: ["http://elasticsearch:9200"]
i18n.locale: "zh-CN"
```
其中,i18n.locale配置项用于将Kibana界面汉化。
5. 回到elk文件夹,运行docker-compose命令启动ELK容器:
```
docker-compose up -d
```
6. 启动完成后,访问http://localhost:5601/,进入Kibana界面。如果一切正常,应该能够看到汉化后的界面。
至此,ELK7.4.2版本已经成功部署并汉化。
生产环境下使用docker-compose部署elasticsearch和kibana
在生产环境中使用`docker-compose`部署`Elasticsearch`和`Kibana`通常是为了实现容器化应用管理和服务间协同。`docker-compose`允许你通过YAML文件定义并管理多个Docker容器、网络以及它们之间的依赖。
以下是部署步骤:
1. **创建docker-compose.yml文件**:
创建一个名为`docker-compose.yml`的文件,内容如下:
```yaml
version: '3'
services:
elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch:7.14.0
container_name: es_container
ports:
- "9200:9200"
- "9300:9300" # 可选端口,用于集群内部通信
environment:
- Elasticsearch.Node.name=es_node
- Elasticsearch.NettyTransport.enabled=true
- cluster.initial_master_nodes=es_node
kibana:
image: docker.elastic.co/kibana/kibana:7.14.0
container_name: kb_container
ports:
- "5601:5601"
depends_on:
- elasticsearch
environment:
- KIBANA_ELASTICSEARCH_HOSTS=http://elasticsearch:9200
```
这里假设你使用的是`7.x`版本的Elasticsearch和Kibana,并配置了基本环境变量。
2. **启动服务**:
在项目目录下运行命令:
```
docker-compose up -d
```
`-d`选项让容器在后台运行(detached mode)。
3. **监控和管理**:
使用`docker-compose logs`可以查看容器的日志,`docker-compose ps`显示容器状态。若需要停止或重启,可以用`docker-compose stop`或`docker-compose restart`。
阅读全文