在团队中试用Docker时,你可能希望能够在团队成员之间共享大量数据,不过你可能没有足够的空间来搭建一台共享服务器。最简单的方法是当你需要时再从其它团队成员复制最新的文件 – 不过在一个更大的团队中这个方法就不太可行了。
解决方案是使用BitTorrent Sync工具来共享文件 – 不需要专门的资源。
问题
你想通过internet在主机之间共享volumes。
解决方法
使用BitTorrent Sync镜像来共享volume。
讨论
下图说明了这个方法是如何运作的。
最终结果是通过因特网方便地同步的卷(/data),不需要任何复杂的设置。
执行如下命令在第一台主机上设置容器:
- [host1]$ docker run -d -p 8888:8888 -p 55555:55555 --name btsync ctlc/btsync
- $ docker logs btsync
- Starting btsync with secret: ALSVEUABQQ5ILRS2OQJKAOKCU5SIIP6A3
- By using this application, you agree to our Privacy Policy and Terms.
- http://www.bittorrent.com/legal/privacy
- http://www.bittorrent.com/legal/terms-of-use
- total physical memory 536870912 max disk cache 2097152
- Using IP address 172.17.4.121
- [host1]$ docker run -i -t --volumes-from btsync ubuntu /bin/bash
- $ touch /data/shared_from_server_one
- $ ls /data
- shared_from_server_one
在第二个服务器,打开一个终端运行这些命令来同步volume:
- [host2]$ docker run -d --name btsync-client -p 8888:8888 -p 55555:55555 ctlc/btsync ALSVEUABQQ5ILRS2OQJKAOKCU5SIIP6A3
- [host2]$ docker run -i -t --volumes-from btsync-client ubuntu bash
- $ ls /data
- shared_from_server_one
- $ touch /data/shared_from_server_two
- $ ls /data
- shared_from_server_one shared_from_server_two
回到第一台主机运行的容器,你应该能看到第二台主机的创建的文件了:
- [host1]$ ls /data
- shared_from_server_one shared_from_server_two