目前网站使用了 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 PRO ![]() 一个正确的方法是在 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 JWilling 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 JWilling 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 " |