在mssql docker容器内获取root访问权限

12

我基于微软官方提供的镜像(https://hub.docker.com/_/microsoft-mssql-server)创建了一个MSSQL docker容器。

我在运行中的容器内启动了bash shell,并尝试删除一些文件。

sudo docker exec -it sql1 "bash"

容器内默认使用mssql账户,而在尝试删除文件时似乎存在某些权限问题。

rm -f *.csv
rm: cannot remove 'xxx.csv': Operation not permitted

我该如何获取根权限以删除文件?我不确定可以使用什么默认密码作为根用户运行rm

非常感谢!

3个回答

20
您可以将用户作为参数进行指定:
sudo docker exec -it --user root sql1 "bash"

2
我曾经遇到过类似的问题,Docker 容器一直崩溃,原因似乎是服务器缺少运行权限。如果你正在使用 docker-compose.yml,请尝试以下方法。user: root 部分应该可以解决问题,并以 root 权限运行容器:
version: "3.9"

services:
  mssql:
    image: mcr.microsoft.com/mssql/server:2022-latest
    container_name: mssql
    user: root
    environment:
      - ACCEPT_EULA=Y
      - SA_PASSWORD=YourPassword

注意:以root身份运行服务器可能存在安全问题,如果有人知道如何处理,请提供意见。然而,使用root权限似乎被微软接受


0

如果你正在使用docker-compose

user:
      0:0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接