在Concourse CI中,默认情况下,作业任务的基础容器将被实例化并与用户root
一起运行。
如果用于我的任务的容器需要与其他用户(例如postgres)一起执行,我该如何在Concourse中执行此操作?
答案 0 :(得分:6)
Concourse任务提供user
参数以显式设置用户将其容器作为运行。
请参阅http://concourse-ci.org/running-tasks.html#task-run-user。
以下是一个示例Concourse管道,用于演示该参数的使用:
---
jobs:
- name: check-container-user
plan:
- do:
- task: container-user-postgres
config:
platform: linux
image_resource:
type: docker-image
source:
repository: postgres
tag: "latest"
run:
user: postgres
path: sh
args:
- -exc
- |
whoami
echo "Container running with postgres user"