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

如何用Podman Run实现Docker的{{.Node.Hostname}}主机名配置效果?

解决方案

要让Podman容器的主机名与宿主机一致,核心是利用Shell命令替换直接传递宿主机的主机名——Podman不支持Docker Swarm专属的{{.Node.Hostname}}模板语法,直接传入会被当作字面字符串。

基础实现命令

直接在podman run中通过$(hostname)获取宿主机主机名并设置为容器主机名:

podman run -d -p 40781:40781 --name pm-interface --hostname $(hostname) pm-interface-dev:latest

带自定义网络的完整命令

如果需要对应原Docker Compose中的自定义网络和别名,先创建目标网络(若尚未存在):

podman network create --driver bridge --attachable shared_network

再执行包含网络配置的启动命令:

podman run -d -p 40781:40781 --name pm-interface --hostname $(hostname) \
  --network shared_network --network-alias pm_interface \
  pm-interface-dev:latest

关键说明

  • $(hostname)是Shell命令替换,会执行宿主机的hostname命令并将输出作为--hostname的参数,确保容器主机名与宿主机完全一致。
  • 你使用的--env-host参数作用是导入宿主机环境变量,与设置容器主机名无关,可根据实际需求保留或移除。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 19:14:58