我有一个与Azure DevOps一起使用的yaml文件,用于在github上构建项目:
resources:
containers:
- container: fedora-29
image: fedora:29
options: --user 0
jobs:
- job: RunInContainer
pool:
vmImage: 'Ubuntu-16.04'
strategy:
matrix:
fedora-29:
containerResource: fedora-29
container: $[ variables['containerResource'] ]
steps:
- bash: |
dnf install 'dnf-command(copr)' -y
timeoutInMinutes: 30
此yaml文件使用fedora:29
容器。 Fedora 29不包含sudo
,默认情况下使用非root用户。
因此dnf
命令失败:
Error: This command has to be run under the root user.
如果我在sudo
之前添加dnf
,则错误是:
line 1: sudo: command not found
是否可以通过yaml文件在Dockerfile中执行与USER
命令等效的方法?还是可以通过某种方式将--user 0
标志传递给docker run
?