Dol*_*hin 7 elasticsearch docker
当我使用 docker-compose(CentOS 7.6\MAC OS) 安装 ElasticSearch 时,运行命令“ docker-compose up”,它抛出这个错误“ efk_elasticsearch_1 exited with code 78”,这是我的 docker-compose.yml:
version: '2'
services:
elasticsearch:
image: elasticsearch:7.2.0
expose:
- 9200
ports:
- "9200:9200"
Run Code Online (Sandbox Code Playgroud)
Lin*_*nPy 17
您需要在HOST终端而不是容器中运行它:
sudo sysctl -w vm.max_map_count=262144
Run Code Online (Sandbox Code Playgroud)
如果您检查容器日志,您将看到如下内容:
max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
Run Code Online (Sandbox Code Playgroud)
请注意,上述命令将在重新启动机器后重置,您需要设置该值/etc/sysctl.conf以使其永久生效。
看到这个
小智 5
在生产或本地使用 Docker 镜像
在生产环境中在 Docker 中运行 Elasticsearch 时,适用以下要求和建议。
将 vm.max_map_count 设置为至少 262144 vm.max_map_count 内核设置必须至少设置为 262144 以供生产使用。
如何设置 vm.max_map_count 取决于您的平台。
Linux
要查看 vm.max_map_count 设置的当前值,请运行:
grep vm.max_map_count /etc/sysctl.conf
vm.max_map_count=262144
Run Code Online (Sandbox Code Playgroud)
要在实时系统上应用该设置,请运行:
sysctl -w vm.max_map_count=262144
Run Code Online (Sandbox Code Playgroud)
要永久更改 vm.max_map_count 设置的值,请更新 /etc/sysctl.conf 中的值。
带有适用于 Mac 的 Docker 的 macOS
vm.max_map_count 设置必须在 xhyve 虚拟机内设置:
从命令行运行:
screen ~/Library/Containers/com.docker.docker/Data/vms/0/tty 按 Enter 并使用 sysctl 配置 vm.max_map_count:
sysctl -w vm.max_map_count=262144
Run Code Online (Sandbox Code Playgroud)
要退出屏幕会话,请键入 Ctrl a d。
使用 Docker 的 Windows 和 macOS
vm.max_map_count 设置必须通过 docker-machine 设置:
docker-machine ssh
sudo sysctl -w vm.max_map_count=262144
Run Code Online (Sandbox Code Playgroud)
**带有 Docker Desktop WSL 2 的 Windows **
vm.max_map_count 设置必须在 docker-desktop 容器中设置:
wsl -d docker-desktop
sysctl -w vm.max_map_count=262144
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7582 次 |
| 最近记录: |