如何运行我创build的最新docker集装箱?

当我debuggingDockerfile的时候,你总是需要运行这两个命令:

$ docker build -t myuser/myapp:mytag - < myapp.docker # to create the container $ docker run -i -t myuser/myapp:mytag /bin/bash # to enter the container and see what's going on when something went wrong 

(“mytag”通常是“生产”,“testing”或“开发”的东西,不知道是否应该用这种方式使用标签)

但现在第二个命令似乎不再起作用了:它正在启动一个旧的容器。 如果我列出所有的容器$ docker images ,我看到我的标签容器在第三位,和其他未标记的容器之前。 如果我使用第一个容器的ID,它的工作正常,但这样做会很麻烦,我将不得不每次都search它的ID。

我究竟做错了什么?

清楚容器图像是很重要的。 这听起来像你的标记的图像图像列表中的第三个,并且您认为只有n ID的第一个图像应该被标记,但不是。 这可能意味着构build图像存在问题。 docker build输出默认情况下是详细的 ,应该显示你的问题。

顺便说一句,我不完全确定你的用例,但有不同的容器来开发,testing和生产的想法是反模式。 整个目标是最小化执行环境之间的差异。 在大多数情况下,您应该使用相同的映像,但提供不同的环境variables来根据需要为每个环境configuration应用程序。 但是,我确信有这样做的理由,你可能有一个合法的。

你只需要启动并附加一个容器使用:

 docker start -i #ContainerID