例如我使用 docker 作为开发环境(不是生产环境),我通过 volume 将当前工程映射到 docker 内部某个目录下面。
我通过 docker 外部的开发工具来开发,例如我开发的是 python,外部环境是 windows,开发工具是 vscode。
当我开发完一个功能,我直接 docker ssh 进入 docker 里面运行就 ok。但是我想单步调试,或者运用 vscode 的智能补全,就需要在本机建一个一模一样的环境,这样 docker 就在某种程度上失去了他作为开发环境的意义。
我这样的描述,希望大家能理解,希望大佬们帮我解答一下,先谢过了!
1
isCyan 2017-10-27 23:31:30 +08:00 via Android
这种功能需要你的 IDE 支持,比如 phpStorm 就支持 vagrant 里面的 php 环境,当然还是有很多限制。
|
2
dangyuluo 2017-10-27 23:31:40 +08:00
|
3
hujianxin OP |
4
iShawnWang 2017-10-27 23:35:04 +08:00 via iPhone
顺便问一个问题... 为什么 Docker 用在部署阶段... Vagrant 适合统一开发环境呢... Vagrant 基于 VirtualBox... 感觉特别重... 开发会拖慢速度吧...
|
5
hujianxin OP @iShawnWang
1. docker 主要用于部署(生产环境),但是也可以用作开发环境。 2. vagrant 用在开发环境,其中的一个功能是统一开发环境(这个主要是在团队中使用),也可以个人使用,用来备份自己的开发环境等等。 所以说,在一定程度上,docker 是可以替代 vagrant 的。 |
6
gl09025 2017-10-27 23:45:36 +08:00
怎么使用 docker 作为开发环境的,有详细的教程吗
|
7
2code 2017-10-27 23:51:49 +08:00
现代语言没有不支持远程调试的吧
|
8
swcat 2017-10-27 23:53:48 +08:00 via iPhone
laradock
|
9
SlipStupig 2017-10-28 01:07:11 +08:00
python 有 virtualenv,要做单元测试可以用 gitlab 集成 docker runner 写模板去测试
|
10
gouchaoer 2017-10-28 02:09:11 +08:00
在 windows 下用 docker 我默认你使用 docker for win10 吧,因为 win7 下的 docker toolkit 不支持 volume 映射很麻烦。。。由于 docker 排在 hyper 虚拟机里面,而你的 IDE 跑在 win10 系统里,现在你要单步调试,需要注意的是需要配置调试扩展连接到对应的主机 ip 就 ok 了,不能是默认的 localhost
|
11
whnzy 2017-10-28 07:22:57 +08:00 via iPhone
简单,用 vim 或 emacs
|
12
fangxing204 2017-10-28 08:15:47 +08:00 via Android
我是在虚拟级开发 Ruby,debug 对 Ruby 到不是问题,因为 Ruby 适合命令行 debug,但是我要用 sublime Ruby lint,就没则了
|
13
oott123 2017-10-28 11:25:07 +08:00 via Android
把 IDE 也装进去(逃
|
14
SmiteChow 2017-10-28 12:08:52 +08:00
你需要支持 remote interpreter 的 IDE 例如 PyCharm
|
15
John60676 2017-10-28 14:07:03 +08:00
为啥不用 pycharm 呢,多好用。又能远程调试,我现在也是 docker 加 pycharm。用得挺爽的
|