Eug*_*yer 10 bash azure-devops
在 azure 管道中运行 a container-job,我使用 docker 映像 ( conan ),它希望build命令在conan.
虽然我能够在天蓝色中引导容器,但--user root不会出现问题options
resources:
containers:
- container: builder
image: conanio/clang8
options: --user root
Run Code Online (Sandbox Code Playgroud)
当我开展工作时
jobs:
- job: do_that
container: builder
steps:
- task: Bash@3
inputs:
targetType: inline
script: whoami
noProfile: false
noRc: false
Run Code Online (Sandbox Code Playgroud)
我看到该用户是1001由 azure bootstrap 创建的。我无法使用sudo/su因为不允许用户使用sudo。我问自己如何以不同的用户身份运行?由于 的 python 垫片、conan中的特殊设置~/.conan以及所有这些事情,用户具有特定的 ENV 设置。
azp 中的具体步骤在docker createaz 使用的“容器初始化”期间(紧随其后)自动运行docker exec:
jobs:
- job: do_that
container: builder
steps:
- task: Bash@3
inputs:
targetType: inline
script: whoami
noProfile: false
noRc: false
Run Code Online (Sandbox Code Playgroud)
其语义思想是:
conan/1000azure_pipelines_sudosudo权限,无需密码conan访问 docker 套接字(又名运行docker in docker命令)的权限看到这个设置,我真的很想知道,为什么有效地docker exec使用以下内容来运行该语句:
docker exec -u 1001 ..
Run Code Online (Sandbox Code Playgroud)
当实际作业运行时,它不会有效地使用用户conan( 1000) - 因此该用户被配置为具有 sudo / docker 访问等所有功能 - 如果这是设计使然,为什么要进行设置 2-4 呢?
从某种程度上来说,这看起来像是一个设计缺陷、一个错误,或者只是我这边的一个巨大误解。
我看过这个问题,但即使标题假设,这是一个非常不同的问题
| 归档时间: |
|
| 查看次数: |
5735 次 |
| 最近记录: |