我可以在构建 docker 图像时绑定端口吗?

Can I bind a port while building a docker image?

我想 运行 certbot-auto 客户端,同时从这个容器中构建一个 docker 容器,因此我需要端口 443 才能被外界访问。

有什么方法可以在构建 docker 映像时将端口绑定到主机?

简答,没有。

该选项不作为 docker 构建的一部分存在,构建不应挂起等待外部连接。它们还应设计为 运行 在任何开发人员工作站上,外部托管的构建服务器,以及介于两者之间的所有内容。

更长的答案,我认为你走错了路。将独特的容器特定数据注入图像会产生一些与 docker 图像的典型模式相反的东西。不要尝试将证书注入您的图像,而是让它作为容器入口点的一部分执行此操作,如果您需要持久性,请将结果存储在一个卷中,以便您可以在下次启动时跳过该步骤。