2016-06-13 36 views
1

我试图建立与泊坞窗容器, 在其模块化的开发环境上安装工具,泊坞窗容器的工作:设置文本编辑器,比如Vim的,Spacemacs没有主机

1)没有的SDK /开发工具/编译器越来越安装在我的主机(这些应该只生活在特定容器内)

2)在他们的GUI版本使用我的文本编辑器(VIM,Spacemacs)在OSX

这里的主要问题是那大多数时候文本编辑器的特定语言插件(如elm layer在Spacemacs)需要这些工具才能正常工作。

任何帮助?

+0

这听起来像你想两个相互EX包括事情。 – romainl

+0

虽然romainl的回答看起来并不是很有帮助,但他可能是对的,除非有方法可以将文本编辑器指向各个码头集装箱,否则您将无法完全使用它们的功能 –

+0

文本编辑器可以使用docker run命令为了运行特定工具的问题在这里,要改变每个插件实现来使用docker run命令是非常困难的 – CountOren

回答

2

在什么工作对我来说到底是用下面的命令设置全局alias.sh采购文件在我的.bash_profile:

grep -q -F 'source ~/.docker-shared/alias.sh' ~/.bash_profile \ 
    || echo 'source ~/.docker-shared/alias.sh' >> ~/.bash_profile 

mkdir -p ~/.docker-shared && touch ~/.docker-shared/alias.sh 

然后为每个开发环境我可以使用docker-compose创建包含容器中所有命令的alias.sh文件:

alias elm-repl='docker-compose run web elm-repl' 

当我的搬运工,compose.yml,则为如下:

version: "2" 
services: 
    web: 
    build: . 
    image: web 
     ports: 
     - "8000:8000" 
     volumes: 
     - .:/app 
     - ~/.docker-shared:/shared 
     entrypoint: "" 
     command: bash -c "mkdir -p /shared && cp /app/alias.sh /shared" 

运行

docker-compose up web 

将设置我的环境和别名。这些别名将在文本编辑器中使用。

在我来说,我必须设置的vimrc和spacemacs使用交互的shell为工作,所以我增加了以下行到我的配置文件:

的.vimrc:

set shellcmdflag=-ic 

。 spacemacs:

(setq shell-command-switch "-ic") 

这里是我的elm dev environment

相关问题