docker 容器内执行宿主机命令

2018-11-28 17:07:17 +08:00
 xiaochocking
事情就是用容器跑了一个 nodejs 网关,用来分发流量到其他几个后端接口容器,想在 nodejs 网关的前端配置页面就能执行宿主机脚本,以依次重启、更新接口容器的代码,相当于热重启了。有没有较优雅的方式实现,google 了几轮,都没有人这样做的吗?
16166 次点击
所在节点    程序员
32 条回复
xiaochocking
2018-11-28 17:08:08 +08:00
自己回复一条骗大佬进来
ChristopherWu
2018-11-28 17:10:09 +08:00
@xiaochocking 宿主机起一个后端服务,接受 nodejs 网关的调用,从而执行宿主机脚本。
cluulzz
2018-11-28 17:11:33 +08:00
宿主跑 pm2
你暴露了
xiaochocking
2018-11-28 17:13:10 +08:00
@ChristopherWu 这样还有用 docker 跑 node 的必要吗..
wfd0807
2018-11-28 17:16:32 +08:00
应该不会有 docker 的原生解决方案
hcymk2
2018-11-28 17:20:09 +08:00
shylockhg
2018-11-28 17:20:27 +08:00
-v 不知道可以不
Kilerd
2018-11-28 17:35:45 +08:00
当然有啊。

在 NodeJS Gateway 的 Docker 里面传入宿主机的 docker.sock 不就可以操作这台机子的所有 docker 容器了嘛
NotNil1
2018-11-28 17:41:04 +08:00
--privileged 试一试
stebest
2018-11-28 17:43:49 +08:00
直接挂载目录不行么
xiaochocking
2018-11-28 18:48:49 +08:00
@Kilerd 这样能执行宿主机的 bash 吗

@shylockhg @ljtletters @stebest 想要的效果是执行宿主机的 bash..
jeffson
2018-11-28 18:54:42 +08:00
问题刁钻
jinhan13789991
2018-11-28 18:57:10 +08:00
可以啊,本机开启 SSH,docker 宿主机登录然后操作
xiaochocking
2018-11-28 18:57:53 +08:00
@jeffson /doge
xiaochocking
2018-11-28 18:58:47 +08:00
@jinhan13789991 查到有人是这样做的
uoryon
2018-11-28 19:02:07 +08:00
@xiaochocking 你想执行宿主机的 bash,那就把 bash 以及 bash 操作的东西都能让这个容器访问到呀。
zn
2018-11-28 19:05:58 +08:00
docker 一大功能,或者说亮点,就是防止这种事的发生………
killadm
2018-11-28 19:06:38 +08:00
ssh 进去
mritd
2018-11-28 19:10:19 +08:00
事实上,你本就不应该这么做
mritd
2018-11-28 19:11:12 +08:00
这个事是编排工具 或者 ci 做的,所以你会发现 google 没啥结果

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/512398

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX