4

在 Concourse CI 中,默认情况下,作业任务的底层容器被实例化并使用 user 运行root

如果用于我的任务的容器需要由不同的用户(例如 postgres)执行,我如何在 Concourse 中执行此操作?

4

1 回答 1

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"
于 2016-12-02T19:57:18.617 回答