要在 Docker 中以非 root 用户身份运行 Elasticsearch 容器,可以按照以下步骤进行设置:
创建一个非特权用户和组:
sudo groupadd -g 1000 myusergroup # 替换为您的组 ID sudo useradd -u 1000 -g myusergroup -m myusername # 替换为您的用户 ID 和用户名
分配正确的文件权限:
sudo chown -R myusername:myusergroup /path/to/data/dir # 替换为实际数据目录的路径
使用该非特权用户启动 Elasticsearch 容器:
docker run -d \ --name my_es_container \ -p 9200:9200 \ -e "discovery.type=single-node" \ -e "xpack.security.enabled=false" \ -v /path/to/data/dir:/usr/share/elasticsearch/data \ # 替换为实际数据目录的路径 --user myusername:myusergroup \ # 使用指定的非特权用户和组运行容器 docker.elastic.co/elasticsearch/elasticsearch:7.14.1
通过上述步骤,您将能够在 Docker 中使用非 root 用户启动 Elasticsearch 容器,并且确保容器内进程以指定的非特权用户身份运行。这样有助于提高系统安全性并限制潜在的攻击面。
内容由零声教学AI助手提供,问题来源于学员提问