我有一个带卷的Docker容器。在该卷内,有根用户拥有的文件。
对于Docker映像,有几个更新,该卷保持运行状态。容器被许多客户使用。
在Docker映像的第一个版本中,ENTRYPOINT
启动脚本是作为root执行的。现在,已在映像中将其更改为以非root用户myuser
身份运行。
如何通过交付另一个版本的Docker映像来修改nyuser
拥有的卷中的文件?
我会通过以根用户身份输入容器并修复文件所有者来修复它。例如:]]
CONTAINER_NAME='my_special_container_name' VOLUME_MOUNT_PATH='/mnt/my_path' MYUSER='myuser' docker exec -u root -t $CONTAINER_NAME chown -R $MYUSER $VOLUME_MOUNT_PATH
编辑:由于该卷是共享的(或据我了解),因此您无需为每个容器执行相同的命令(如果有更多可用的容器)。