繁体   English   中英

在 Dockerfile 中切换到 root 用户

[英]Switch to Root User in a Dockerfile

我运行了这个命令:

docker pull mcr.microsoft.com/mssql/server:2019-latest

然后我制作了一个 dockerfile 来使用这个容器镜像作为另一个容器的基础镜像

# escape=`
FROM  mcr.microsoft.com/mssql/server:2019-latest
SHELL ["/bin/bash", "-c"]

COPY ./CompanyCert.crt  /usr/local/share/ca-certificates/CompanyCert.crt
RUN update-ca-certificates

当我尝试构建该 docker 文件时,出现此错误:

ln:无法创建符号链接“/etc/ssl/certs/CompanyCert.pem”:权限被拒绝

所以我在我的 docker 文件中添加了一个RUN whoami ,它返回mssql 当我运行id -u它返回 10001。所以似乎用户mssql没有 root 权限。

我尝试将 sudo 放在我对update-ca-certificates调用前,但它说:

/bin/bash: sudo: 命令未找到

我试图RUN su -然后返回:

su:必须从终端运行

我已成功使用上述 dockerfile 在 Microsoft 的其他容器上安装我的公司证书,但这次失败了。

如何获得 root 访问权限,以便在此 SQL Server 容器上安装我的公司证书?

USER root添加到您的Dockerfile

FROM  mcr.microsoft.com/mssql/server:2019-latest
USER root
SHELL ["/bin/bash", "-c"]

COPY ./CompanyCert.crt  /usr/local/share/ca-certificates/CompanyCert.crt
RUN update-ca-certificates

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM