生成器 Docker 图像生成 运行 容器

Builder Docker image resulting in running container

我正在尝试寻找构建和 运行 Docker 图像和容器的最佳实践。在下面的示例中,我将参考 this Dockerfile.

目前我使用这个命令构建镜像:

$ docker build -t <imagename> .

但由于某些奇怪的原因,最终导致 运行ning and 附加到容器:

$ docker build -t hellotrello .
[...]
Step 13 : RUN ruby hellotrello.rb
 ---> Running in bf3edd441128
[2015/03/01 19:58:54.750] !! Application Debug message: hellotrello started
^C%
$ 

这正常吗?我实际上只想构建图像并使用单独的命令启动容器。

不太确定现在这里发生了什么。

您的最后一个命令 (RUN ruby hellotrello.rb) 可能应该是 运行ning 在您 run 您的容器时,而不是在构建它时。尝试从 Dockerfile 中删除它,重新构建图像并 运行 docker run hellotrello ruby hellotrello.rb

另一种选择是将 RUN 重命名为 CMD 而不是 运行 docker run hellotrello(不带参数)。