尝试在 docker 容器内使用单个命令运行 chmod

问题描述 投票:0回答:1

我正在尝试采用下面使用的 3 个命令,并将其变成单个命令,或者将其放入可以从另一个程序调用的脚本中。

这就是我目前正在做的事情:

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

有没有更简单的方法来 chmod docker 容器内的文件?如果没有,我如何将其放入单个命令或单个脚本中?

这不起作用:

$ sudo docker exec -it <my-app container id> bash; chmod +r /var/opt/mssql/data/myFile.bak; exit
linux docker chmod
1个回答
8
投票

我假设您有一个正在运行的容器,并且您想要将文件 chmod 到其中。此更改可能会与容器的生命周期相关,除非该文件位于卷上。

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

如果您的设置需要,请使用

sudo
执行。假设
bash
位于容器的
PATH
中,并且执行容器的用户拥有执行
chmod
的正确所有权。

您不需要

-it
,因为它不是交互式会话,只是容器内的单个进程执行。

© www.soinside.com 2019 - 2024. All rights reserved.