为什么我用Flink docker-compose up -d 这个配置文件就会变成root 了 是怎么回事啊?
以下为热心网友提供的参考意见
当你使用docker-compose up -d
命令启动Flink容器时,Docker会以root用户身份运行容器。这是因为在Docker中,默认情况下容器是以root用户身份运行的。
如果你希望在容器中以非root用户身份运行Flink,可以通过以下步骤进行配置:
-
创建一个名为
flink
的用户和组:sudo groupadd flink sudo useradd -g flink -m flink
-
将Flink的安装目录(例如
/opt/flink
)更改为新创建的用户和组拥有:sudo chown -R flink:flink /opt/flink
-
修改Flink的配置文件(例如
flink-conf.yaml
),将jobmanager.rpc.address
和taskmanager.rpc.address
的值设置为主机名或IP地址,而不是localhost
。例如:jobmanager.rpc.address: jobmanager taskmanager.rpc.address: taskmanager
-
在Docker Compose文件中,将Flink服务的配置更改为使用新创建的用户和组。例如:
services: flink: image: flink:latest container_name: flink user: "1000:1000" # 这里的"1000"是新创建的用户ID,可以根据需要进行更改 volumes: - /path/to/flink/config:/opt/flink/conf # 将Flink配置文件挂载到容器中 - /path/to/flink/data:/opt/flink/data # 将Flink数据目录挂载到容器中 environment: - JOB_MANAGER_RPC_ADDRESS=jobmanager # 根据实际配置进行更改 - TASK_MANAGER_RPC_ADDRESS=taskmanager # 根据实际配置进行更改
-
重新启动Flink容器:
docker-compose down && docker-compose up -d
通过以上步骤,你应该可以在容器中以非root用户身份运行Flink了。请注意,这只是一个示例配置,你可能需要根据你的实际情况进行调整。
本文来自投稿,不代表新手站长_郑州云淘科技有限公司立场,如若转载,请注明出处:https://www.cnzhanzhang.com/19647.html