繁体   English   中英

您如何将文件(从URL)上传到Docker容器?

[英]How do you upload a file (from url) to a Docker container?

有人将如何使用Docker Engine API停止容器,将文件(从url)上传到容器中的路径,然后再次运行start命令? 我正在运行此图像 目的是让Minecraft服务器然后从URL上传插件并重新启动它。 我已经看过docker cp命令,尽管最好能够从RESTful API中做到这一点。

您可以使用docker cp将文件复制到正在运行的容器中,但是我认为您真正想要做的是基于该其他映像构建一个新映像。

Docker文件

FROM nathjeid/pocketmine-mp:latest
ADD ./FileToCopy.txt /FolderToCopyTo

然后运行docker build -t mycoolimage .

结果:您现在有了一个名为“ mycoolimage”的泊坞窗映像,该映像与nathjeid / pocketmine-mp相同,外加要添加的文件。

如果要从url而不是从本地文件系统获取文件,可以在Dockerfile中使用RUN命令并使用curl 如果图像尚未curl ,则需要安装它。

Docker CP文档页面

Dockerfile参考

Docker构建文档页面

如果要在运行的容器中执行此操作,请使用docker cp。 这样的shell脚本应该可以工作:

wget http://example.com/file.out
docker cp file.out yourcontainer:/desired/path/file.out
docker restart yourcontainer

另外,您可以使用另一个容器(例如,命名为administrator )并与您的插件共享一个卷。 另一个容器可以是将文件上传到共享卷的静态服务器(例如python flask或其他)。

如果要启动,请从管理员容器重新启动第一个容器,您必须运行共享Docker袜子的管理员容器,如下所示:

-v /var/run/docker.sock:/var/run/docker.sock

有关从另一个容器重新启动docker的更多说明:

是否可以从另一个容器启动已停止的容器

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM