docker save 时访问被拒绝
Posted
技术标签:
【中文标题】docker save 时访问被拒绝【英文标题】:Access is denied while docker save 【发布时间】:2016-09-21 03:04:48 【问题描述】:我正在尝试在 windows 中保存一个 docker 映像,以便我可以加载到另一个 Linux 机器,在这期间在 windows 中保存图像时,我收到一个错误,指出访问被拒绝重命名 docker 临时文件。
我检查了权限,一切看起来都很好,实际上我可以编辑。这里的任何帮助都是非常可观的。我正在使用 docker 1.11.0
docker save -o . <imgID>
rename .docker_temp_742575903 .: Access is denied.
【问题讨论】:
【参考方案1】:没关系,连同路径,我需要提供 docker 想要创建的新文件名,并且它不会隐式发生,在我的情况下,我提供了
docker save -o ./<tar name that you wanted docker to create> <imgID>
【讨论】:
我也有同样的问题...解决方案是同时提供文件名例如C:\build\images\image_file_Name
名称可以是您想要的任何名称
我提供了路径和文件名,但仍然收到错误“open c:\.docker_temp_916058883: Access is denied.”
检查对应用户是否有写权限。通常 C 盘用于系统文件尝试提供不同的路径。
我和@DarioN1有同样的问题
编辑:@DarioN1 我能够解决这个问题(使用 docker 工具箱)。在 docker vm 的虚拟框界面中,有一个共享文件夹选项,我在其中添加了路径。然后我使用 docker 控制台转到该文件夹并通过 docker save <image id> > file.tar
保存【参考方案2】:
对于类似的问题,但在 unix 上:
root@linux:/opt/docker# docker save -o ./presto.tar starburstdata/presto
open .docker_temp_359214587: permission denied
您可以使用不同的语法将图像保存为一种解决方法:
root@linux:/opt/docker# docker save starburstdata/presto > presto.tar
root@linux:/opt/docker# ls -l
razem 1356196
-rw-r--r-- 1 root root 1388737024 maj 23 11:16 presto.tar
【讨论】:
谢谢。这确实有助于克服 Linux 的“权限被拒绝”错误。我的一个担心是-o
标志被省略了。它还能创建一个可行的恢复文件吗?【参考方案3】:
我解决方法通过将当前的forlder权限更改为777来解决linux上的问题。确保您当前的直接:
mkdir ~/docker-images
cd ~/docker-images
chmod 777 ./
sudo docker save <img_id> -o ./<filename>
【讨论】:
【参考方案4】:您没有提供图像名称,默认情况下它会创建一些临时名称,但是在重命名时会引发错误。你可以使用这个命令来解决这个问题。
docker save -o <some custom name with path> <imgID or REPOSITORY:TAG>
如果你想在当前目录中创建类似这样的东西
docker save -o ./ubuntu_image.tar ubuntu:latest
or
docker save -o ./ubuntu_image.tar eat546t
如果你想在特定位置创建
docker save -o path/of/image/ubuntu_image.tar ubuntu:latest
【讨论】:
以上是关于docker save 时访问被拒绝的主要内容,如果未能解决你的问题,请参考以下文章
在 docker-compose 期间尝试访问容器中的文件时权限被拒绝(UBUNTU 20.04)
使用 mariadb 10.4.8 docker 容器的用户“root”@“localhost”的访问被拒绝,使用 docker compose 并在附加外部卷时发出问题
拉取访问被拒绝的存储库不存在或可能需要 docker login