请推荐 Rails docker 部署方案
评论 11
avatar

第2个问题已经解决,在 camal 的 deploy.yml 文件里面,添加

volumes:

  • /home/deployer/wai_mai/log:/home/deployer/wai_mai/log
avatar

@Rei 谢谢你在部署过程中,提供的帮助,registry proxy的问题我已经解决。 目前可以用kamal 2.0 正常将服务器部署到远程服务器,还有一此地方,需求请教一下

  1. .camal/secrets 下面的环境变量,无法加载远程服务器,当前测试项目,为了正常启动服务器,我将不重要的环境变量以明文的方式写在了代码里面 image.png
  2. unicorn的日志文件目录,每次部署的时候,都会变化,导致要查询历史日志变得不方便,/var/lib/docker/overlay2/5b02e1e84b80b39d352f233d6922817bbd3a32f67a7070972c3b21e2e672a6d1/merged/home/deployer/wai_mai/log 理想情况,我想将所有的日志固化到 /home/deployer/wai_mai/log这个目录 麻烦看到后,在方便的时候,请帮忙解惑一下,多谢
avatar

之前Rails一直用mina部署,才迁移到docker,感谢你给的这些宝贵的经验和思路,我争取先走通Kamal的部署,有进展我也会在这里进行更新,多谢。

1
avatar

谢谢回复。 难怪阿里云的镜像加速无法用了,目前自己的项目,从Mac m芯片编译镜像,上传到私有仓库,然后服务器从私有仓库拉镜像,还是挺快。

现在的问题就是,服务器如果要下载私有仓库里面没有的镜像就没办法了,必须要有境外的 proxy。 Kamal的部署,国内的网络是一个大的限制

avatar

阿里云镜像在境内,现在几乎无用了。

维护私有仓库也是一个方法,注意 mac 默认拉的是 aarch 镜像,和 ubuntu 要用的 amd86 不一样,需要往仓库推 amd86 镜像。

但我还是自建 proxy 了,一劳永逸。

avatar

谢谢回复,我目前的做法:

  1. 自己在国内阿里云环境搭建了一个私有仓库,本地机器有自己的vpn,本地build出镜像之后,推送到私有镜像仓库,ubuntu也可以从私有镜像仓库拉镜像,从而解决ubunut不能访问docker hub的问题。
  2. 为了能够安装 kamal_proxy,我使用了阿里云的镜像加速功能,但是没有效果 image.png
  3. 我准备看你给的文档,尝试搭建一个境外的 registry proxy

我在本地通过vpn将 kamal_proxy镜像拉下来,然后传到了私有的仓库,然后尝试让ubuntu服务器从私有仓库拉镜像,但是默认还是走的docker hub的地址,之前一直以为,kamal_proxy也可以像kamal一样设置自己的registry,但是没有找到地方,如果可以的话,就不用自己搭建域外的proxy了 多谢指出方向。

avatar

需要自己在境外搭建一个 registry proxy,实际操作不难,就是要多花一台服务器的钱。

https://docs.docker.com/docker-hub/mirror/

建议用防火墙或安全组加规则只允许自己的服务器 IP 访问。

avatar

非常感谢Rei上次提到的用kamal部署的方式,目前我已经完成了以下步骤

  1. kamal init 成功
  2. kamal setup 部分成功,在 start kamal-proxy 的时候失败了 image.png

我的mac有vpn,可以下载 basecamp/kamal-proxy:v0.8.2 的镜像,但是我的ubuntu服务器,没有vpn,因此,无法访问https://registry-1.docker.io/v2/ 这个仓库地址,我使用阿里云的镜像加速也不行

请问,这儿应该怎么来解决呢?多谢大家

avatar

谢谢 Rei 大神,我来看一下怎么使用,非常感谢

avatar
没有更多内容。