© 2025 Rocky. All rights reserved.

|浙ICP备2025179428号-3|

魔法施展中...

技术文章

技术实践

基于buildpacks构建Docker镜像

2024-09-21
5 分钟
...

由于天杀的原因,docker镜像现在访问几乎难于登天。 所以我构想了一个方案,就是在香港买一台主机,将所有项目都编译好docker镜像后,推送给阿里云的docker镜像。在阿里云的境内生产环境,只负责从阿里云的docker镜像上拉取image再运行。

本来我是可以直接用dokku等类似heroku的,但是现在境内主机连安装都安装不了了!

现在方案是,先在香港主机上将代码拉回来。假设我们代码是github.com/someguy/something.git:

git clone git@github.com:someguy/something.git

接下来我们运行buildpacks来打包:

sudo pack build some_app --builder heroku/builder:24

请记得将some_app改成你的app名字。 打包好镜像之后,给这个docker image打个tag:

sudo docker tag smartuc2 crpi-ut5s2t2r2fsmvws8.cn-hangzhou.personal.cr.aliyuncs.com/matrix-rails/java:latest

接下来再推送到你的aliyun仓库:

sudo docker push crpi-ut5s2t2r2fsmvws8.cn-hangzhou.personal.cr.aliyuncs.com/matrix-rails/java:latest

pack命令的安装

mac上安装

brew install buildpacks/tap/pack

在linux上安装:

(curl -sSL "https://github.com/buildpacks/pack/releases/download/v0.28.0/pack-v0.28.0-linux.tgz" | sudo tar -C /usr/local/bin/ --no-same-owner -xzv pack)

登陆阿里云的docker Registry

请参照 阿里云的容器镜像服务-> 实例列表->镜像仓库 进行。

其他问题

启动的时候报错failed to get platform API version; please set 'CNB_PLATFORM_API' to specify the desired platform API version?

设置环境变理CNB_PLATFORM_API=0.10 PIDFILE=tmp/rails.pid

sudo docker run -d -p 8857:5000 -e PORT=5000 -e CNB_PLATFORM_API=0.10 -e PIDFILE=tmp/rails.pid crpi-ut5snezdufsmvws8.cn-hangzhou.personal.cr.aliyuncs.com/matrix-rails/java:latest 5ffa125866972f3f4a8d109f0dd0cd76465a147d2526bbe5df22ad8e1769d99d

💡 关于技术判断: 本文反映了我在真实系统中评估技术风险的思考方式。 我现在专注于为创始人和决策者提供独立的后端与架构风险评估服务。 如果您在重大技术决策前需要第三方意见,了解评估服务或联系咨询。

感谢阅读!如果您觉得这篇文章有帮助,欢迎分享给更多的朋友。

上一篇
技术分享

Tiktok 初探[2]

> 可以阅读前文[TikTok初探1](https://83d.me/2024/07/25/some-about-tiktok/) 。

下一篇
技术实践

Rails + Nextjs 部署踩坑合集

我现在的整个技术栈有点飘逸:后端的API层用Rails,再往是java和Go的服务。前端项目用nextjs,nextjs只用来做界面和交互,不负责前端的API。

📮 订阅更新
每周收到最新文章推送,不错过精彩内容

💡 我们尊重您的隐私,不会将邮箱用于其他用途

加载中...

猜你喜欢

产品思考

'偶感:赋能与甩锅'

互联网团队的管理者,总是高估自己团队的产品能力,低估组织管理的难度,短期内看不到问题,远期上定不下目标,名义上给别人赋能,实际上给自己甩锅。

2022-01-25
技术实践

cookie与cors详解

由于HTTP协议是无状态的,而服务器端的业务必须是要有状态的。Cookie诞生的最初目的是为了存储web中的状态信息,以方便服务器端使用。比如判断用户是否是第一次访问网站。目前最新的规范是RFC 6265,它是一个由浏览器服务器共同协作实现的规范。

2022-02-16
技术实践

83d.me 站点技术栈与 SEO 实践全解析

详细介绍 83d.me 个人站点的技术选型、SEO 优化策略,以及如何通过 301 重定向完整继承 404.ms 的 SEO 权重,实现零损失的域名迁移。

2024-10-08
Next.js