linux 尝试在Docker容器中使用单个命令运行chmod

ippsafx7  于 2023-10-16  发布在  Linux
关注(0)|答案(1)|浏览(122)

我试图把下面使用的3个命令,要么把它变成一个命令,要么把它放在一个脚本中,我可以从另一个程序调用。
这就是我目前正在做的:

$ sudo docker exec -it <my-app container id> bash
$ chmod +r /var/opt/mssql/data/myFile.bak
$ exit

有没有更简单的方法在docker容器中chmod文件?如果没有,我怎么能把它放在一个命令或一个脚本中呢?
这不起作用:

$ sudo docker exec -it <my-app container id> bash; chmod +r /var/opt/mssql/data/myFile.bak; exit
agyaoht7

agyaoht71#

我假设你有一个正在运行的容器,你想chmod一个文件到它。除非该文件位于卷上,否则此更改可能会绑定到容器的生存期。

docker exec <my-app container id> bash -c 'chmod +r /var/opt/mssql/data/myFile.bak'

如果您的设置需要,请使用sudo执行。假设bash在容器的PATH中,并且执行容器的用户具有执行chmod的所有权。
你不需要-it,因为它不是一个交互式的会话,只有一个进程在容器中执行。

相关问题