V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
imdong
V2EX  ›  问与答

关于本机不安装开发环境,纯 IDE + Docker 开发的设想与疑问。

  •  
  •   imdong · 2019-06-22 00:34:13 +08:00 · 2496 次点击
    这是一个创建于 1742 天前的主题,其中的信息可能已经有所发展或是发生改变。
    已知目前很多 Docker 环境中跑的是暴露端口服务的,如 Nginx + PHP。

    如果本机不安装任何 PHP / Nodejs / Golang 等运行环境,

    只在 Docker 中运行对应的环境,

    但是,如果是在 IDE or VS Code 中需要使用 PHP / npm / golang 的相关 Shell 命令时;

    似乎是没法做到的?

    因为 IDE or VS Code 中一些代码提示、临时运行需要配置 phpcs / Composer / npm 的 path。

    而我尚不知道怎么把 Docker 中的 Shell Path 映射到本机,端口映射没问题。

    刚看了下,jb 全家桶已经在支持 Docker 中运行了,但是好像是有插件兼容性问题?
    第 1 条附言  ·  2019-06-22 01:53:54 +08:00

    刚刚研究了一下 docker exec 写了个 shell 大佬们看下 这样实现如何

    #!/bin/bash
    docker_name=php
    docker_shell=/usr/local/bin/php
    docker exec -it ${docker_name} ${docker_shell} $(echo $* | sed "s?${HOME}/Dockers?/root?")
    

    是否有更好的实现办法, 这样做的话,只能把需要的每一个命令都创建一个这样的伪名

    比如 php phpcs npm Composer node python

    并且目录就很不自由了,必须限定目录,并且映射好。

    3 条回复    2019-06-22 11:00:58 +08:00
    nvkou
        1
    nvkou  
       2019-06-22 00:50:27 +08:00 via Android
    外部 xampp。docker 内集成生产环境,包括 redis 等辅助服务。数据库用端口连接宿主,代码则路径映射。

    我们以前就是这样的。生产也不用 composer。本地安装完 commit push。线上 pull 就行了
    carlclone
        2
    carlclone  
       2019-06-22 09:18:21 +08:00
    参考 laradock 的 workspace 实现
    ladit
        3
    ladit  
       2019-06-22 11:00:58 +08:00 via iPhone
    我前段时间也想这么做,但发现 Mac 或 Windows 下的 Docker IO 性能不行,有一些解决方案,比如用 xhyve 创建 docker machine,但折腾了半天没有成功,后来还是用了 vagrant+homestead+nfs,Jetbrains 的 IDE 对 Vagrant 和虚拟机中的远程环境的支持不错。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3545 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 00:10 · PVG 08:10 · LAX 17:10 · JFK 20:10
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.