赞
踩
在使用docker时,经常会用到以下这种
docker run --name elasticsearch -p 9200:9200 -p 9300:9300 \-e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms64m -Xmx512m" -v /mydata/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v /mydata/elasticsearch/data:/usr/share/elasticsearch/data -v /mydata/elasticsearch/plugins:/usr/share/elasticsearch/plugins -d elasticsearch:7.4.2
这条docker run
命令用于启动一个Elasticsearch实例,并配置了一些重要的参数。下面是对这条命令的详细解释:
docker run
:
docker run
是Docker CLI的一个命令,用于创建并运行一个新的容器。--name elasticsearch
:
--name
参数用于指定容器的名称。这里将容器命名为elasticsearch
。-p 9200:9200 -p 9300:9300
:
-p
参数用于发布容器内的端口到宿主机。这里发布了两个端口:
9200:9200
将容器内的9200端口映射到宿主机的9200端口,这是Elasticsearch的HTTP API端口。9300:9300
将容器内的9300端口映射到宿主机的9300端口,这是Elasticsearch集群间通信使用的端口。-e "discovery.type=single-node"
:
-e
参数用于设置环境变量。这里设置discovery.type
为single-node
,表示这是一个单节点集群。-e ES_JAVA_OPTS="-Xms64m -Xmx512m"
:
-Xms64m
设置初始堆内存大小为64MB。-Xmx512m
设置最大堆内存大小为512MB。-v /mydata/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml
:
-v
参数用于挂载宿主机的目录到容器内。这里挂载了宿主机上的/mydata/elasticsearch/config/elasticsearch.yml
文件到容器内的/usr/share/elasticsearch/config/elasticsearch.yml
,使得容器使用自定义的配置文件。-v /mydata/elasticsearch/data:/usr/share/elasticsearch/data
:
/mydata/elasticsearch/data
目录到容器内的/usr/share/elasticsearch/data
目录,用于存储Elasticsearch的数据。-v /mydata/elasticsearch/plugins:/usr/share/elasticsearch/plugins
:
/mydata/elasticsearch/plugins
目录到容器内的/usr/share/elasticsearch/plugins
目录,用于存放插件。-d
:
-d
参数表示在后台运行容器。elasticsearch:7.4.2
:
7.4.2
版本的Elasticsearch镜像。elasticsearch
的容器,使用Elasticsearch 7.4.2版本,并配置了以下内容:discovery.type
为single-node
,表示这是一个单节点集群。挂载(Mounting)在Docker中指的是将宿主机的文件系统中的某个目录挂载到容器内作为容器内的文件系统的某个部分。这种机制提供了容器与宿主机之间的一种数据共享方式。以下是挂载的主要好处:
数据持久化:
易于备份和恢复:
易于调试:
共享开发环境:
减少镜像体积:
实时更新:
隔离性和安全性:
跨容器共享:
避免重复构建:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。