在 Concourse CI 中,默认情况下,作业任务的底层容器被实例化并使用 user 运行root
。
如果用于我的任务的容器需要由不同的用户(例如 postgres)执行,我如何在 Concourse 中执行此操作?
在 Concourse CI 中,默认情况下,作业任务的底层容器被实例化并使用 user 运行root
。
如果用于我的任务的容器需要由不同的用户(例如 postgres)执行,我如何在 Concourse 中执行此操作?
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"