Docker实践(18) – 使用BitTorrent Sync分发volumes

在团队中试用Docker时,你可能希望能够在团队成员之间共享大量数据,不过你可能没有足够的空间来搭建一台共享服务器。最简单的方法是当你需要时再从其它团队成员复制最新的文件 – 不过在一个更大的团队中这个方法就不太可行了。
解决方案是使用BitTorrent Sync工具来共享文件 – 不需要专门的资源。

问题

你想通过internet在主机之间共享volumes。

解决方法

使用BitTorrent Sync镜像来共享volume。

讨论

下图说明了这个方法是如何运作的。

最终结果是通过因特网方便地同步的卷(/data),不需要任何复杂的设置。
执行如下命令在第一台主机上设置容器:

  1. [host1]$ docker run -d -p 8888:8888 -p 55555:55555 --name btsync ctlc/btsync
  2. $ docker logs btsync
  3. Starting btsync with secret: ALSVEUABQQ5ILRS2OQJKAOKCU5SIIP6A3
  4. By using this application, you agree to our Privacy Policy and Terms.
  5. http://www.bittorrent.com/legal/privacy
  6. http://www.bittorrent.com/legal/terms-of-use
  7. total physical memory 536870912 max disk cache 2097152
  8. Using IP address 172.17.4.121
  1. [host1]$ docker run -i -t --volumes-from btsync ubuntu /bin/bash
  2. $ touch /data/shared_from_server_one
  3. $ ls /data
  4. shared_from_server_one

在第二个服务器,打开一个终端运行这些命令来同步volume:

  1. [host2]$ docker run -d --name btsync-client -p 8888:8888 -p 55555:55555 ctlc/btsync ALSVEUABQQ5ILRS2OQJKAOKCU5SIIP6A3
  1. [host2]$ docker run -i -t --volumes-from btsync-client ubuntu bash
  2. $ ls /data
  3. shared_from_server_one
  4. $ touch /data/shared_from_server_two
  5. $ ls /data
  6. shared_from_server_one  shared_from_server_two

回到第一台主机运行的容器,你应该能看到第二台主机的创建的文件了:

  1. [host1]$ ls /data
  2. shared_from_server_one  shared_from_server_two
标签:Docker 发布于:2019-11-20 18:04:12