述
接着上文,还是来看一些对容器的操作
启动容器
在上文中,我们分别使用了docker run
和docker create
的方式创建了一个容器,前者创建完容器之后就直接启动了,那对于docker create
我们可以使用docker start
命令来启动,命令如下:1
docker start 容器id/容器名称
如图,就是通过容器的id去启动容器的,docker start
启动的是一个已经存在的容器,要使用该命令启动一个容器,必须要先知道容器的id或者
name
一般来说,第一次启动容器可以直接用docker run
以后就用docker start
就好了
重启容器
容器在运行过程中,会不可避免的出问题,出了问题的时候,需要容器能够自动重启,我们可以在容器启动的时候使用–restart参数实现这一需求. docker的重启策略有以下几种:
no
: 表示不重启,默认即此on:failure:[max-retries]
: 在容器非正常退出(退出状态非0),才会重启容器,可以指定一个最大重试次数,重启次数达到上限之后会放弃重启always
: 始终重启容器,当docker守护进程启动时,无论容器当时的状态为何,都会尝试重启容器ubless-stopped
: 表示始终重启容器,但是当docker守护进程启动时,如果容器已经停止运行,则不会去重启它
停止容器
通过docker stop
命令可以停止一个容器1
docker stop 容器id/容器名称
删除容器
容器停止后,还是存在的,如果我们不需要了,可以通过docker rm
去删除一个容器,删除容器只能删除已经停止的容器1
docker rm 容器id/容器名
如图,只能删除停止状态的容器 , 如果非要删除一个运行状态的容器的话,可以通过加 -f参数实现,语法如下:1
docker rm -f 容器id/容器名
批量删除
批量删除命令如下:1
docker rm $(docker ps -a -q)
docker ps -a -q
会列出所有的容器的id,供删除,同样的,这里也是只能删除停止的容器
还有一个命令,可以删除所有的停止状态的容器,如下:1
docker container prune
查看容器信息
容器创建成功后,可以通过docker inspect
查看容器的详细信息,包括容器的id,容器名称,环境变量,运行命令,主机配置,网络配置以及数据卷等信息1
docker inspect 容器id/名称
返回值如下:
format参数
上面返回的数据实在是太多了,看起来也不方便,使用format参数可以只查看用户关心的数据,如下:
查看容器运行状态:1
docker inspect -f='{{.State.Running}}' 容器id/名称
查看容器的id和名称:1
docker inspect -f='{{.Name}} {{.ID}}' 容器id/名称
查看容器内的进程
查看某个容器中有哪些正在运行的进程,可以用以下命令:1
docker top 容器id/名称
这里要确保查询的容器是启动的
查看容器日志
要查看容器的日志可以使用以下命令:1
docker logs 容器id/名称
我这里查看了一个redis容器的日志,返回值如下:
详细参数
默认情况下只能看到历史日志,不能看到实时的日志,我们可以使用-f
参数查看实时日志1
docker logs -f 容器id/名称
这样看到的就是实时的日志了,但是日志又太多了,可以使用--tail
参数控制日志输出行数,同时可以用-t
来显示日志的输出时间,如下: