【发布时间】:2018-11-03 21:15:07
【问题描述】:
所以我已经阅读了有关 Docker 的内容,并且我已经了解了其中的大部分内容。尽管如此,我有一个问题:如果您可以创建绑定安装并在容器内进行开发,为什么大多数教程仍然在其本地环境中开发整个应用程序并安装 Node、Python 或 Ruby 等工具?我是否误解了什么或者这种方法是错误的?下面是我用来开发测试应用的一些简单的 dockerfile:
FROM node
WORKDIR /home/app
VOLUME . .
然后我会从这里进入容器的终端,运行 npm init 并开始开发我的应用程序。
现在,我的目标是让我的机器尽可能干净,而无需安装 Java、Node、Ruby 等。哪种方法最好?还有这种方法在 Windows 机器上是如何工作的?我目前正在使用 Ubuntu。
我不想对应用程序进行 dockerize。我想通过组合容器来构建整个应用程序。例如,我想要一个干净的 manjaro 安装,然后安装 docker,接下来获取一个 spacevim 映像,然后在 java 中启动一个新应用程序,例如在某个本地目录中能够将我的本地目录与 java 容器链接,以便它可以运行编译器。然后,如果我想,在节点中启动一个新应用程序,然后做同样的事情。在所有情况下,我都将使用包含源代码的本地目录,使用我的 vim 容器编辑并从语言容器运行。那可能吗?所以我不必安装 nvm 或 nodenv 或任何版本管理器等。
我可以手动运行这段代码,例如:
docker container run --rm -it -v /home/alex/Documents/REPOs/testing:/home/app -p 3000:3000 --name node node:latest bash
它让我在 /home/app/ 目录中作为 2 路绑定工作,但我如何通过 dockerfile 或 docker-compose 文件实现相同的操作,以便我可以共享我的配置并停止使用每种语言的版本管理器.
【问题讨论】:
-
请将您的问题重命名为更具体;这对其他人的搜索没有帮助,并且可能会吸引反对票
-
您是否尝试过在虚拟机上的全新操作系统中使用 Docker?
标签: docker development-environment