Docker:启动容器,登入容器
这次介绍一下docker的启动容器和登录容器主机的方法。
列出containers:
$ docker container ls -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
ae8eafa4bdde ubuntu "/bin/bash" 10 days ago Exited (255) 8 days ago quizzical_heyrovsky
启动container:
$ docker start quizzical_heyrovsky
quizzical_heyrovsky
查看container的运行状态:
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
ae8eafa4bdde ubuntu "/bin/bash" 10 days ago Up 5 minutes quizzical_heyrovsky
登录进这个container:
$ docker exec -i -t quizzical_heyrovsky bash
root@ae8eafa4bdde:/#
注意我们使用上面「start」的方式来启动container,默认会让container以detached方式运行。所谓detached的运行模式,就是不会因为调用者的进程结束,而导致container自身的结束。
简单来讲,就是让container保持在后台运行的状态。
然后,「exec」的方式登录进container,而不是使用「attach」的方式,就是让我们登录进container,执行完命令后,保证container自己不退出。
「exec」的「-i」选项就是interactive mode的意思。我们想在容器的主机里面手工敲命令,看命令结果,而不是执行命令并退出,所以要用interactive mode。
「-t」选项的意义就是启动一个新的终端。因为我们要用bash,而bash需要运行在终端里,所以「-t」选项是必不可少的。
注意我们创建了container以后,就不要再使用docker的run命令来操作了,因为run命令的作用是同时「创建」一个新的容器,并「启动」这个容器里面的image。一旦容器已经在本机创建了,就应该使用上面的流程。