Sql server 切换到Dockerfile中的Root用户
我运行了以下命令:Sql server 切换到Dockerfile中的Root用户,sql-server,docker,ubuntu,root,Sql Server,Docker,Ubuntu,Root,我运行了以下命令: 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/Co
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文件中添加了一个runwhoami
,它返回mssql。当我运行id-u
时,它返回10001。因此,用户mssql似乎没有根权限
我试着把sudo放在我的更新ca证书的电话前面,但它说:
/bin/bash:sudo:未找到命令
我尝试运行su-
,结果是:
苏:必须从终点站运行
我已经成功地使用上面的dockerfile在Microsoft的其他容器上安装了我的公司证书,但这次失败得惊人
如何获得root访问权限,以便在此SQL Server容器上安装公司证书?将
用户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
工作得很好!非常感谢。