如何设置使用 docker 的开发环境

How to setup a development enviroment for working with docker

这是我的问题,请考虑以下场景:

一台 ubuntu 机器,运行宁一个 docker 化的 nodejs 应用程序。

Dockerfile 有 运行 从 git 仓库中提取源代码的指令和 运行 安装应用程序所需的所有 nodejs/npm 命令。 CMD 指令启动应用程序。

现在我需要的是通过 netbeans 进行开发的可能性,如果源代码在 ubuntu 机器(而不是容器)中,我会采用相同的方式进行开发。

那么,如何使用 netbeans 在 ubuntu 上进行开发并编辑和试用存储在容器中的代码?

我知道 docker 卷(也是挂载)是什么,但它允许从(到)主机共享数据。我已经尝试将本地容器文件夹映射到主机文件夹,但结果当然是此挂载覆盖了本地容器内容。

我在软件开发方面没有太多经验。

但我认为为了开发(在发送给客户之前),你应该构建一个基于官方 ubuntu baseimage 的 docker 图像,并在你的 docker 中添加 netbeans 安装文件。

我不知道你是否已经阅读过这个官方文档 Get Started,Part2:Containers,也许它会帮助你开始构建你自己的 docker 图像。

其他开发人员制作了很多不同的很棒的 docker,例如 docker-netbeans image。我只是google,不确定你的情况是否合适,建议你保留google并根据你自己的情况做一些比较。

完成开发后,您可以构建另一个docker图像,仅供发送给客户。

关于挂载,例如

docker run [other options] -v /local_dir:/image_root_dir/mount_dir image_name

是我建议您挂载目录的方式,/image_root 是在构建映像时创建的,并将本地目录挂载到新容器中的新目录,就像这里调用 mount_dir,这将使您在 docker 容器中时能够访问本地数据或主机上的 "light-software"。