我要做 EOS 区块链开发,但是 EOS 系统在 Linux 系统里支持的最好,mac 和 window 的都坑多,而且有的不支持 window,而我使用的就是 window 系统。所以我打算在 ubuntu 虚拟机里进行 EOS 开发。
当我学习 EOS 安装的时候看到很多人都推荐在 docker 里进行开发,于是我在 ubuntu 系统里安装了 docker,再在 docker 里安装了 EOS 的镜像,然后在虚拟机的 ubuntu 系统里进行开发。
但是后来转天重新看 docker,发现都说是 docker 是类似虚拟机的轻量存在,所以那直接在 window 上装 docker 开发也能达到我的目的吗?
1
caopi OP 感觉自己有点没搞明白 docker 和虚拟机的用途
|
2
caopi OP docker 既然也可以满足应用运行环境的问题,那么我是不是不必额外开在 ubuntu 虚拟机里使用呢
|
3
jisibencom 2018-11-22 17:57:23 +08:00 via Android
docker 在 win 坑很多的。。。
|
4
baicheng10 2018-11-22 18:00:53 +08:00 2
虚拟机是进程,docker 是线程,但 docker 这个线程原生只能在 linux 的进程下跑的。
不知道这个比喻恰不恰当。 |
5
caopi OP 因为我要开发的是 eos 的 ddap,假如要在虚拟机里开发的话那么需要虚拟机映射主机,docker 在映射端口,这样是不是很。。。。
|
6
damngood 2018-11-22 18:13:36 +08:00 via iPhone
windows 上不了解
当前的工作内容部分涉及 linux c 开发 开发机器是 mac 又不想装虚拟机 但目前就是在 mac 上开发, 然后在 docker 中的 ubuntu container 上调试的 也就是把 docker 当虚拟机用 |
7
anubu 2018-11-22 18:28:22 +08:00 1
性能够的话,目前的用法是没问题的。
在 Windows 下直接使用 docker 的话会涉及选择 docker server 架构问题,docker 容器是共享系统内核的,在 Windows 架构上当然是无法运行 Linux 镜像的容器。所以在 Windows 下要运行 Linux 容器,本质还是在 Linux 虚拟机中启动容器,只不过是用 hyper-v 做了一些整合,性能会不会比其他虚拟机好倒不清楚,推测一些小问题不会少,如端口映射、磁盘挂载之类。主要问题可能还是对整个工具链不熟悉。 如果你的镜像有 Windows 版,倒是可以在 Windows 下直接运行容器看看。这块的资料也比较少。 |
8
ooh 2018-11-22 18:39:27 +08:00 1
@caopi 你程序最终应该是部署在 vps 或者 云服务器上面,虚拟机就是给你提供一个 vps 或者 云服务器一样的系统环境,至于你说的虚拟机映射到主机,桥连,共享文件夹这些开发肯定需要的啊,docker 端口映射你正常部署也要映射啊,docker 对于你就想想成方便部署 EOS 开发运行环境
|
9
laobaoabc 2018-11-22 20:16:11 +08:00
没问题,我现在就是在 windows 装个 xubuntu 虚拟机开发,ide、环境 全部在虚拟机里。
|
10
mritd 2018-11-23 08:54:54 +08:00 via iPhone
既然你能在 linux 下开发,那就说明你可以完全放弃 windows,直接宿主机 ubuntu 开发,为了保证环境隔离,你可以考虑再装 dicker
|