You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为使用Kamal启动的Ruby on Rails服务定义container_names

为Kamal启动的Rails服务(app/sidekiq)自定义容器名称

Kamal基于Docker Compose运行服务,默认会自动生成容器名称(结合服务名、主机标识、版本等组合)。如果要自定义容器名称,只需在项目的config/deploy.yml配置文件中,为对应服务添加container_name字段即可。

配置示例

  1. 为app服务指定容器名称:
# config/deploy.yml
service: my_rails_app
image: your-registry/my_rails_app
servers:
  web:
    hosts:
      - your-server-ip
app:
  container_name: my_rails_app_web
  # 其他app相关配置(如环境变量、端口映射等)
  1. 为sidekiq服务指定容器名称:
# 在deploy.yml中追加sidekiq配置
sidekiq:
  container_name: my_rails_app_sidekiq
  # 其他sidekiq配置(如队列、进程数等)

补充说明

  • container_name 是字符串类型,指定后Docker会使用该名称替代默认生成的名称:

container_name 是一个字符串,用于指定自定义容器名称,替代默认生成的名称。

  • 容器名称在单台宿主机上必须唯一,如果部署多台服务器,建议结合主机名变量避免冲突,比如:
app:
  container_name: my_rails_app_web_%{host}

%{host}会被Kamal自动替换为目标服务器的主机名,确保每台服务器上的容器名称唯一。

内容的提问来源于stack exchange,提问作者user352290

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.20 04:44:52