我已经使用dc/os+marathon设置了azure容器服务来部署docker容器。到目前为止看起来还不错,我可以使用ssh隧道连接到主节点,访问mesos和marathonwebui以及restapi。
接下来,我尝试从我的私有docker存储库部署docker容器,我在marathon网站上找到了以下文章。
https://mesosphere.github.io/marathon/docs/native-docker-private-registry.html
请参阅以上网址的“备注”部分-
注意:uri必须能被所有可能启动应用程序的节点访问。方法可以包括例如通过rsync/scp将文件分发到所有节点的本地文件系统,或者将其存储在共享网络驱动器(例如amazons3)上。值得考虑您选择的方法的安全影响。
azure为在所有节点上共享docker.tar.gz文件提供了哪些选项?
谢谢
3条答案
按热度按时间quhf5bfb1#
一种方法是使用脚本遍历集群中的代理。看一看https://github.com/rgardler/acs-cli 做一些这样的实验。
mlnl4t2r2#
把你的
docker.tar.gz
到azure存储并创建签名的url。我已经使用azure存储资源管理器创建了一个。输出;
https://xyzds.file.core.windows.net/docker/docker.tar.gz?...url-params
您需要添加文件扩展名才能提取它。
x=.tar.gz
"uris": [ "https://xyzds.file.core.windows.net/docker/docker.tar.gz?...url-params&x=.tar.gz" ]
你可以走了。kfgdxczn3#
我们做这件事的方法是
parallel-scp
把文件传给我们所有的mesos探员,比如:哪里
pssh_all_ips
是内部ip地址的换行分隔文件(10.0.*.*
或者10.32.*.*
在我们的情况下)。你可以在找到你的代理
localhost:2000/mesos/#/slaves
如果你进入你的集群)。这使文件在
file:///etc/docker.tar.gz
在所有代理上,您可以使用marathon的uri字段使docker pull系统可以使用它。