如何重启已停止的docker / whalesay容器?

时间:2016-08-11 04:40:59

标签: docker containers

随着Docker for Mac入门文档的指示。

docker run docker/whalesay cowsay boo

每次运行时,都会创建,运行和停止新容器。

CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                         PORTS                         NAMES


0d96e4bd9c14        docker/whalesay     "cowsay boo boo"         11 days ago         Exited (0) 5 minutes ago                                     high_archimedes
3a079559382e        docker/whalesay     "cowsay boo"             11 days ago         Exited (0) 26 minutes ago                                    boring_ritchie

我怎么能不再创建docker / whalesay的新容器,而是重新启动docker / whalesay的已停止容器并获得与

相同的结果

docker run docker/whalesay cowsay boo

我试过

docker start 0d96e4bd9c14

结果只显示

0d96e4bd9c14

不是像鲸鱼那样的鲸鱼形象。

谢谢!

答案:

基于Rico的回答

“容器第二次启动,但区别在于您没有看到stdout作为默认启动”

docker start -a 0d96e4bd9c14

添加-a,然后我可以看到stdout结果。

2 个答案:

答案 0 :(得分:2)

容器第二次启动但不同之处在于您没有将标准输出视为start的默认值

例如:

$ docker run docker/whalesay cowsay boo
Unable to find image 'docker/whalesay:latest' locally
latest: Pulling from docker/whalesay
e9e06b06e14c: Pull complete 
a82efea989f9: Pull complete 
37bea4ee0c81: Pull complete 
07f8e8c5e660: Pull complete 
676c4a1897e6: Pull complete 
5b74edbcaa5b: Pull complete 
1722f41ddcb5: Pull complete 
99da72cfe067: Pull complete 
5d5bd9951e26: Pull complete 
fb434121fc77: Already exists 
Digest: sha256:178598e51a26abbc958b8a2e48825c90bc22e641de3d31e18aaf55f3258ba93b
Status: Downloaded newer image for docker/whalesay:latest
 _____ 
< boo >
 ----- 
    \
     \
      \     
                    ##        .            
              ## ## ##       ==            
           ## ## ## ##      ===            
       /""""""""""""""""___/ ===        
  ~~~ {~~ ~~~~ ~~~ ~~~~ ~~ ~ /  ===- ~~~   
       \______ o          __/            
        \    \        __/             
          \____\______/   
$ 
$ sudo docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
$ sudo docker ps -a
CONTAINER ID        IMAGE                    COMMAND             CREATED             STATUS                      PORTS               NAMES
3230d1589aed        docker/whalesay:latest   "cowsay boo"        32 seconds ago      Exited (0) 31 seconds ago                       evil_curie          
$ sudo docker start 3230d1589aed
3230d1589aed

现在查看STATUS的{​​{1}}:

Exited (0) 2 seconds ago

您可以使用$ sudo docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 3230d1589aed docker/whalesay:latest "cowsay boo" 46 seconds ago Exited (0) 2 seconds ago evil_curie

查看输出
docker logs

答案 1 :(得分:0)

您可以创建一个交互式的新容器。

  

docker run -ti --entrypoint = sh“imageID”

将“imageID”替换为您的图片ID。可以通过'docker images'命令找到图像ID。 然后,您可以根据需要在提示中键入命令(例如,cowsay“说些什么”)。您可以通过键入“exit”退出,它将停止容器。如果要启动同一容器,可以通过

启动它
  

docker start -i“containerID”