V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
billgreen1
V2EX  ›  问与答

怎么在另一台机器上运行 docker?

  •  
  •   billgreen1 · 2017-12-18 14:22:33 +08:00 · 2368 次点击
    这是一个创建于 2523 天前的主题,其中的信息可能已经有所发展或是发生改变。
    我在自己的笔记本 A 上面,通过 docker-machine create -d vultr xxxxxx
    创建了一个 vps, ip 为 45.xx.xx.xx 。
    然后 docker pull kaggle/python

    现在我想在我的笔记本 B 上面
    怎么去连接这个 kaggle/python?

    我的尝试:
    在笔记本 B 上面,安装 docker-machine 后,
    docker-machine create --driver none --url=tcp://45.xx.xx.xx custombox

    结果显然是不行的,我猜应该是需要一些什么验证。
    但是我不知道搜索什么关键词去设置

    请多多指教!
    第 1 条附言  ·  2017-12-19 06:55:02 +08:00
    感谢各位回复, 我昨晚又找了一下答案,发现有人提出把~/.docker/certs 目录以及 machines/machine/xxxx

    xxxx 是 machine name 打包到另一台机器上。

    如果另一台机器用户名和机器 A 的用户名相同,不需要做什么改动,否则需要改动 xxxx 目录下面的 config.json 的路径

    docker machine 官方不增加这个功能的原因,虽然没有明确说,但很多人猜测是这种直接把 client 和 server 的 cert pem 等验证文件一起打包传输是不合适的。


    我当初提这个问题,主要是把一些 image 特别大,10G+, 可能是连国外网速不行,pull 的时候经常出错。
    而用 vps 去做,也就几分钟。

    而国内的那些加速,好像也只是比较常见的 image, 比如我想用的 kaggle/python 之类的,我没有找到。

    感谢各位
    4 条回复    2017-12-18 15:43:22 +08:00
    Luckyray
        1
    Luckyray  
       2017-12-18 14:32:38 +08:00
    你说的连接是什么意思?你是要把这个容器实例导出来,导入到另一台机器?还是说要进行通信?
    billgreen1
        2
    billgreen1  
    OP
       2017-12-18 14:54:41 +08:00
    @Luckyray 我也说不好什么是导出来,什么是进行通信,

    我是想在我电脑 B 上写代码,然后用 vps 上的 kaggle/python 跑程序。
    Tink
        3
    Tink  
       2017-12-18 14:58:55 +08:00
    把 vps 上的 docker 里的代码目录挂载出来,本地写好东西,scp 传上去
    Muninn
        4
    Muninn  
       2017-12-18 15:43:22 +08:00
    挂载目录只能挂宿主机的,所以你想在容器里跑宿主机某个目录的程序,只能在本机,通过网络没戏。

    如果你是在容器内部 pull 代码然后跑,那么你只需要登到 A 然后去容器里跑就行了。
    但是,docker 不是这么用的。

    你的问题的正确答案更可能是用 CI。
    你每 push 一个代码让 CI 重新构建一个新的容器在云服务上跑就好了。 去看 daocloud 吧。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3641 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 04:30 · PVG 12:30 · LAX 20:30 · JFK 23:30
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.