[英]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.