docker restart、start、stop与容器文件系统
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了docker restart、start、stop与容器文件系统相关的知识,希望对你有一定的参考价值。
参考技术A 大概是在2016/10前后,我们部门使用docker一段时间后偶尔会出现docker exec ... 无法进入容器的问题,环境为centos7.2、docker1.12.6,docker存储引擎为devicemapper,经过排查发现容器对应的文件系统已经umount,且发现开发同学用了大量的docker restart ... 操作。于是产生docker restart导致容器文件系统umount的疑问,后面对docker restart、start、stop三个命令与容器文件系统关系做了研究,以下是研究的记录。通过docker run启动一个容器后,docker会同时挂载该容器的内存文件系统与容器的根文件系统(rootfs),比如
若容器的根文件系统(rootfs)umount,执行 docker exec -it xxx /bin/bash or /bin/sh会触发异常:
同时执行 docker restart xxx会触发异常:
分别查看docker restart、start、stop三个命令的debug信息,这里的实践环境为:centos7.2、docker1.12.6、存储引擎(storage-driver):devicemapper、镜像:nginx:1.12
通过上面的日志输出可以了解到
分析发现,docker restart命令并不是stop、start两个命令的顺序叠加,docker restart操作并不涉及容器文件系统的处理,开始怀疑的由于docker restart操作导致容器的文件系统处于umount状态此处没有找到证据,但为了保证容器的根文件系统与内存系统mount的正确性,推荐对一个容器的重启使用docker stop xxx 然后 docker start xxx,而非docker restart xxx。
32-Docker-常用命令详解-docker start/stop/restart
docker start/stop/restart
前言
- 本篇来学习docker start/stop/restart命令
docker start
- 作用:启动一个或多个已经被停止的容器
语法格式
docker start [OPTIONS] CONTAINER [CONTAINER...]
使用示例
- 启动单个容器
- 启动所有容器
docker start $(docker ps -a -q)
docker stop
- 作用:停止一个运行中的容器
语法格式
docker stop [OPTIONS] CONTAINER [CONTAINER...]
使用示例
- 停止单个容器
- 停止所有容器
docker stop $(docker ps -a -q)
docker restart
- 作用:重启容器
使用示例
docker restart [OPTIONS] CONTAINER [CONTAINER...]
使用示例
- -t : 杀死容器之前等待停止的秒数(默认为10)
- 重启所有容器
docker restart $(docker ps -a -q)
以上是关于docker restart、start、stop与容器文件系统的主要内容,如果未能解决你的问题,请参考以下文章
管理lnmp常用命令,lnmp重启,start|stop|reload|restart等命令
The service command supports only basic LSB actions (start, stop, restart, try-restart, reload,force
linux(restart stop status start)自动启动项目并配置日志