gpt4 book ai didi

sql-server - 在 Dockerfile 中切换到 Root 用户

转载 作者:行者123 更新时间:2023-12-02 17:59:30 24 4
gpt4 key购买 nike

我运行了这个命令:

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: failed to create symbolic link '/etc/ssl/certs/CompanyCert.pem': Permission denied



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

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

/bin/bash: sudo: command not found



我试过 RUN su -并返回:

su: must be run from a terminal



我已成功使用上述 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

关于sql-server - 在 Dockerfile 中切换到 Root 用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59364683/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com