目前网站使用了 docker,几个常用的组件 nginx,redis,mariadb,php 都用了容器,这样非常便于迁移和备份,感觉性能的影响也不大。特别是有程序需要用到 php52,用 docker 真的是超级简单。
目前遇到一个问题:php 需要调用 fontools 中的 pyftsubset,但是 fontools 是安装在 host 中的。如
有没有可能实现,从容器中调用 host 中的命令呢?
谢谢帮助。
1
anstxy 2021-10-12 14:39:37 +08:00
问下这个 host 是啥
|
2
ReferenceE 2021-10-12 14:39:56 +08:00 via Android
从容器调用 host ...
不清楚,您是否在查找:虚拟机 /容器化逃逸漏洞 |
3
Encloud 2021-10-12 14:40:32 +08:00
|
4
SingeeKing 2021-10-12 14:42:19 +08:00 1
一个正确的方法是在 docker 中安装 fontools
|
5
Yourshell 2021-10-12 14:43:00 +08:00 via Android
二进制的话直接 mount ?
|
6
Vegetable 2021-10-12 14:46:07 +08:00
别瞎搞,老老实实装进 docker
|
7
passon 2021-10-12 14:50:36 +08:00
这容器不存粹
|
8
sadfQED2 2021-10-12 14:54:49 +08:00 via Android
容器中使用 ssh 连接宿主机,然后执行 shell 命令
|
9
anonydmer 2021-10-12 15:19:34 +08:00
老老实实自己定制个容器,里面装上 php 和 fontools
|
10
ampedee 2021-10-12 15:45:45 +08:00 via iPhone
可以,直接把 host 的根目录挂载进容器
|
11
noe132 2021-10-12 16:09:06 +08:00 via Android
我有个容器需要在 host 上修改防火墙规则
我是在容器里 ssh 到 host 执行命令的。 |
12
iBaoger 2021-10-12 16:42:10 +08:00 via Android
1.docker 里安装
2.写一个远程调用 |
13
guxin0123 2021-10-12 18:22:45 +08:00
docker run -p 8081:8081 -d -v /var/run/docker.sock:/var/run/docker.sock wangbinxingkong/fast
这些 dockers 管理工具 管理宿主机 docker 服务是这样映射的 但是你的那个好像又不是服务,这个方式不一定能行 |
14
acrisliu 2021-10-12 19:02:52 +08:00 via iPhone
自己以 php 为 base image 写个 dockerfile,把 fontools 装进去最好。
|
15
ik 2021-10-12 19:37:05 +08:00 via iPhone
用 sock 方式启动,挂载 sock 到容器?
|
16
Zhancha 2021-10-12 20:39:03 +08:00
@SingeeKing 能请教下是 fontools 还是 fonttools 吗?另外可以给我个关键字吗?我查 fontools 都是 python 中的字体格式化库。
|
19
julyclyde 2021-10-13 12:52:17 +08:00
正常情况下,对容器来说,host 是一个无法感知到的东西
|
20
mailshuxin OP 谢谢大家。安装到容器里机了。这样比较简单实用
|
21
Zhancha 2021-10-14 21:05:55 +08:00
@mailshuxin 能请教下解决方案吗?
|
22
MXuD0ng 2021-12-01 15:55:07 +08:00
docker run -it --privileged -v /proc:/host/proc {DOCKER_IMAGE}
容器内调用 host shell:nsenter --mount=/host/proc/1/ns/mnt sh -c " Your command here " |