我们可以在docker中拥有一个数据卷:
$ docker run -v /path/to/data/in/container --name test_container debian
$ docker inspect test_container
...
Mounts": [
{
"Name": "fac362...80535",
"Source": "/var/lib/docker/volumes/fac362...80535/_data",
"Destination": "/path/to/data/in/container",
"Driver": "local",
"Mode": "",
"RW": true
}
]
...
Run Code Online (Sandbox Code Playgroud)
但是,如果数据量存在/var/lib/docker/volumes/fac362...80535/_data,是否与使用安装的文件夹中的数据有什么不同-v /path/to/data/in/container:/home/user/a_good_place_to_have_data?
我为clojure和常见的lisp设置了emacs,但我也希望(slime-setup'(slime-fancy))用于常见的lisp.如果我将该行添加到init.el,clojure将无法工作:它给了我repl,但它在我运行任何代码后挂起.
对于clojure:
对于常见的lisp,我将它放在init.el中的ELPA代码之后:
(add-to-list 'load-path "~/.elisp/slime")
(require 'slime)
(add-to-list 'slime-lisp-implementations '(sbcl ("/opt/local/bin/sbcl") :coding-system utf-8-unix))
;; (slime-setup '(slime-fancy))
Run Code Online (Sandbox Code Playgroud)
因此,如果我取消注释最后一行,clojure将被破坏.但是,对于黑客攻击常见的口齿不清而言,这是一个非常重要的元包.
有没有办法在不改变配置的情况下将它们设置为工作并在需要切换语言时重新启动?
我发现slime-autodoc装有粘液花式是导致挂起的原因.
(slime-setup '(slime-fancy))
(setq slime-use-autodoc-mode nil)
Run Code Online (Sandbox Code Playgroud)
此配置允许运行常见的lisp和clojure SLIME.甚至同时.但没有史莱姆 - autodoc.
我也发现我正在使用SLIME的CVS版本,因为我在ELPA代码之后手动执行(add-to-list'load-path"〜/ .elisp/slime").这并没有解决问题.也许有一个魔法约会的版本与clojure一起使用?在这里,一个人说CVS版适合他:http://www.youtube.com/watch?v = f_xI3fZdIg&feature = player_detailpage#t = 221s
正确使用版本和relups来部署和更新erlang应用程序很困难,有时也不值得.
来自http://learnyousomeerlang.com/relups:
如果可以以不需要重新启动的方式升级您的应用程序,我建议您这样做.据说,使用relups的爱立信部门花费了大量时间来测试它们,就像测试应用程序本身一样.它们是在使用绝对不会被关闭的产品时使用的工具.
我想尝试另一种方式.我知道有些人开发复杂的应用程序而不使用版本.如果您是其中之一,请描述您的工作流程.
您是否只是在主机上克隆存储库并运行make哪个运行rebar get-deps compile然后启动应用程序?或者你可能只复制光束文件?你如何重新加载更新的模块?你使用mochiweb的重载器吗?等等.
换句话说,如何在没有发布的情况下部署和更新erlang应用程序?这种方式的利弊是什么?