kubesphere / s2i-base-container

Apache License 2.0
1 stars 2 forks source link

s2i-php-container sample #2

Closed littlezo closed 1 month ago

littlezo commented 4 years ago

希望官网出一个 s2i-php-container 的样品 产考https://github.com/sclorg/s2i-php-container 写了 https://github.com/littlezo/s2i-php-container 最终能构建成功,但运行是项目代码没了导致无法正常启动 希望官网能出一个demo供产考 需求 swoole 无 web服务器 不需要nginx 这类似但web服务器 纯php环境就好

shaowenchen commented 4 years ago

1,不太清楚你为什么要改官方的镜像内容,通常只需要用它编译一个镜像,然后重新 tag 推送到自己的仓库即可

2,你需要的大概步骤是:

(1) 确定你的工程,适合 s2i。可以下载 s2i 命令调试下,可能需要按照规范调整,而不是去改官方镜像。 (2) 按照 KubeSphere 的 S2I 自定义步骤添加模板就可以

littlezo commented 4 years ago

官方镜像附带有Apache 而我不需要Apache 只需要php+ swoole

littlezo commented 4 years ago

项目是以 php cli 方式运行 而不是 lap 或者 lnp 方式 运行

littlezo commented 4 years ago

有一个问题 未挂在存储卷是没问题的 但挂在存储卷后 代码没了 不知这怎么回事
如 我代码运行目录仿造 /opt/app-root/src 在构建项目是将存储卷挂在 /opt/app-root/src 会导致代码丢失问题

littlezo commented 4 years ago

1,不太清楚你为什么要改官方的镜像内容,通常只需要用它编译一个镜像,然后重新 tag 推送到自己的仓库即可

2,你需要的大概步骤是:

(1) 确定你的工程,适合 s2i。可以下载 s2i 命令调试下,可能需要按照规范调整,而不是去改官方镜像。 (2) 按照 KubeSphere 的 S2I 自定义步骤添加模板就可以

项目是以 php cli 方式运行 而不是 lap 或者 lnp 方式 运行

shaowenchen commented 4 years ago

能说下你的使用场景吗?使用 s2i 将项目打包成镜像,然后 cli 方式运行起来。怎么交互,有什么用途呢?

littlezo commented 4 years ago

能说下你的使用场景吗?使用 s2i 将项目打包成镜像,然后 cli 方式运行起来。怎么交互,有什么用途呢?

用swoole 写的api 借口 包含一下rpc 服务 rpc服务自动注册到注册中心供一个项目下到其他服务调用 result api 通过端口暴露出来给 客户端调用 rpc服务内部调用多个镜像之间与注册中心通讯

shaowenchen commented 4 years ago

改造成本有点大,建议你使用 devops 流水线部署。

你可以使用 https://hub.docker.com/r/phpswoole/swoole 镜像运行项目,通过流水线部署 deployment。

s2i 只是帮助你编译镜像,devops 同样可以做。只不过 s2i 做了优化,只需要增加一个镜像层速度更快。