【问题标题】:Linux dev environment in osx (docker as mv or any other)osx 中的 Linux 开发环境(docker as mv 或任何其他)
【发布时间】:2016-01-26 08:16:50
【问题描述】:

我很想听听您对设置我正在寻找的内容的一些建议。

我正在使用 OSX,我需要在 Linux 机器上开发一些代码,问题是我正在寻找一些 VM 替代品,因为它需要太多的电池电量。

我遇到的第一件事是一个 docker 容器。我知道这不是它的设计目的,但我认为它无论如何都可以工作。所以我尝试将容器运行为

docker run -i -t ubuntu /bin/bash

而且效果很好。但是,我所做的所有更改都消失了,我找不到解决方法。我也试过了

docker run -i -v /Users/JaimehRubiks/test:/home/Jaime -t ubuntu /bin/bash

其中的所有文件都已保存(也很有趣,因为我可以与主机共享我的文件),但是如果我更改 ubuntu 的配置文件中的任何内容,则必须提交 docker 映像有点无聊。


我正在寻找的只是一种在我的 mac 中运行 linux 的简单方法,然后以某种方式访问​​它,就像我在 docker 中或通过 SSH 所做的那样。

【问题讨论】:

    标签: linux macos docker virtual-machine environment


    【解决方案1】:

    Docker 目前不能在 osx 上本地运行,因为 Docker 依赖于 Linux 内核来实现其隔离功能。事实上,Docker Toolbox 使用运行 boot2docker Linux 发行版的 Virtual Box 虚拟机在 osx 上运行 Docker 守护进程。请参阅 Mac osx 安装上的official documentation

    boot2docker linux 映像的重量很轻,但我不确定您是否会从在 osx 上运行 Docker 进行 Linux 开发比简单地在 Ubuntu(或其他发行版)上运行完整的 Virtualbox 机器获得多少好处。如果您想运行虚拟机,vagrant 是一个很好的工具来帮助您进行设置。它使您可以轻松地从图像存储库中提取图像、设置图像并通过 ssh 进入其中。它还使主机 -> 来宾机器文件夹共享和端口转发变得非常简单。

    【讨论】:

    • 更新:自 Docker 1.12 以来,Docker 为 OS X 和 Windows 发布了新的 Docker 二进制文件,它使用操作系统的本机虚拟化技术代替了 Virtualbox。这在使用 Docker 作为开发环境方面已经有了很大的改进,至少在 OS X 上是这样。还没有在 Windows 上测试过。你可以在这里阅读更多相关信息:blog.docker.com/2016/07/…
    【解决方案2】:

    但是,如果我更改 ubuntu 配置文件中的任何内容,那么必须提交 docker 映像有点无聊。

    您无需 docker commit 任何内容:主机 (/Users/JaimehRubiks/test) 上所做的任何文件更改都将在容器 (/home/Jaime) 中可见

    【讨论】:

    • 是的,但是该目录之外的每个已安装程序或文件都需要提交。不是吗?
    • @jaimehrubiks 您不会从容器安装程序:您将在 Dockerfile 中指定它(以 FROM ubuntu:15.10 开头)并使用您的镜像启动您的容器:这样,您就有了定义明确且可重复的 Ubuntu 执行环境。
    【解决方案3】:

    使用vagrant 运行 Ubuntu 或 CentOS 怎么样?您可以通过命令vagrant ssh 访问系统并使用配置文件对其进行配置并像使用docker一样共享它。

    【讨论】:

      猜你喜欢
      • 2010-12-17
      • 2011-11-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-21
      • 2014-08-13
      • 2021-11-03
      • 1970-01-01
      相关资源
      最近更新 更多