在Centos 7上运行的Docker服务无法启动,我有一些码头图像,我想不惜一切代价保存。我搜索了几个在线文档,他们都说要删除我不想要的/ var / lib / docker / dir,因为所有的图像和容器都在那里。有人可以救我如何让docker备份并运行而丢失任何数据。
日志: [root @ BuyPandGDev01 /] #systemctl status docker.service -l ●docker.service - Docker应用程序容器引擎 已加载:已加载(/usr/lib/systemd/system/docker.service;已禁用;供应商预设:已禁用) 活动:自SUN 2018-04-22 00:05:23 UTC后失败(结果:退出代码); 19分钟前 文档:http://docs.docker.com 进程:1539 ExecStart = / usr / bin / dockerd-current --add-runtime docker-runc = / usr / libexec / docker / docker-runc-current --default-runtime = docker-runc --exec-opt native。 cgroupdriver = systemd --userland-proxy-path = / usr / libexec / docker / docker-proxy-current $ OPTIONS $ DOCKER_STORAGE_OPTIONS $ DOCKER_NETWORK_OPTIONS $ ADD_REGISTRY $ BLOCK_REGISTRY $ INSECURE_REGISTRY $ REGISTRIES(code = exited,status = 1 / FAILURE) 主PID:1539(代码=退出,状态= 1 / FAILURE)
Apr 22 00:05:22 BuyPandGDev01 systemd [1]:启动Docker应用程序容器引擎...
4月22日00:05:22 BuyPandGDev01 dockerd-current [1539]:time =" 2018-04-22T00:05:22.068920976Z" level = info msg =" libcontainerd:new containerd process,pid:1550"
4月22日00:05:23 BuyPandGDev01 dockerd-current [1539]:time =" 2018-04-22T00:05:23.101036303Z" level = warning msg =" devmapper:强烈建议不要使用环回设备进行生产。请使用--storage-opt dm.thinpooldev
或使用man docker
来引用dm.thinpooldev部分。"
4月22日00:05:23 BuyPandGDev01 dockerd-current [1539]:time =" 2018-04-22T00:05:23.155223108Z" level = error msg =" [graphdriver]之前的存储驱动程序\" devicemapper \"失败:devmapper:基本设备UUID和文件系统验证失败:devicemapper:运行deviceCreate(ActivateDevice)时出错dm_task_run失败"
4月22日00:05:23 BuyPandGDev01 dockerd-current [1539]:time =" 2018-04-22T00:05:23.155708413Z" level = fatal msg ="启动守护程序时出错:初始化graphdriver时出错:devmapper:基本设备UUID和文件系统验证失败:devicemapper:运行deviceCreate(ActivateDevice)时出错dm_task_run失败"
4月22日00:05:23 BuyPandGDev01 systemd [1]:docker.service:主进程退出,代码=退出,状态= 1 / FAILURE
4月22日00:05:23 BuyPandGDev01 systemd [1]:无法启动Docker应用程序容器引擎。
4月22日00:05:23 BuyPandGDev01 systemd [1]:Unit docker.service进入失败状态。
4月22日00:05:23 BuyPandGDev01 systemd [1]:docker.service失败。
journalctl -xe: [root @ BuyPandGDev01 /] #journalctl -xe - 单元docker-storage-setup.service已经开始启动。 4月22日00:25:58 BuyPandGDev01 container-storage-setup [2111]:INFO:无法确定卷组支持根文件系统 4月22日00:25:58 BuyPandGDev01 container-storage-setup [2111]:错误:找不到有效的卷组。退出。 4月22日00:25:58 BuyPandGDev01 systemd [1]:docker-storage-setup.service:主进程退出,代码=退出,状态= 1 / FAILURE 4月22日00:25:58 BuyPandGDev01 systemd [1]:无法启动Docker Storage Setup。 - 主题:单元docker-storage-setup.service失败 - 定义者:systemd
- 结果失败。 4月22日00:25:58 BuyPandGDev01 systemd [1]:Unit docker-storage-setup.service进入失败状态。 4月22日00:25:58 BuyPandGDev01 systemd [1]:docker-storage-setup.service失败。 4月22日00:25:58 BuyPandGDev01 systemd [1]:启动Docker应用程序容器引擎... - 主题:Unit docker.service已经开始启动 - 定义者:systemd
- 单位docker.service已经开始启动。 4月22日00:25:58 BuyPandGDev01 dockerd-current [2140]:time =" 2018-04-22T00:25:58.731142431Z" level = info msg =" libcontainerd:new containe 4月22日00:25:59 BuyPandGDev01 dockerd-current [2140]:time =" 2018-04-22T00:25:59.767061431Z" level = warning msg =" devmapper:循环的用法 4月22日00:25:59 BuyPandGDev01内核:device-mapper:table:253:1:thin:无法打开瘦内部设备 4月22日00:25:59 BuyPandGDev01内核:device-mapper:ioctl:错误将目标添加到表 4月22日00:25:59 BuyPandGDev01 dockerd-current [2140]:time =" 2018-04-22T00:25:59.835261589Z" level = error msg =" [graphdriver]先前的storag 4月22日00:25:59 BuyPandGDev01 dockerd-current [2140]:time =" 2018-04-22T00:25:59.835697590Z" level = fatal msg ="启动守护程序时出错:错误 4月22日00:25:59 BuyPandGDev01 systemd [1]:docker.service:主进程退出,代码=退出,状态= 1 / FAILURE 4月22日00:25:59 BuyPandGDev01 systemd [1]:无法启动Docker应用程序容器引擎。 - 主题:单位docker.service失败 - 定义者:systemd
- 结果失败。 4月22日00:25:59 BuyPandGDev01 systemd [1]:Unit docker.service进入失败状态。 4月22日00:25:59 BuyPandGDev01 systemd [1]:docker.service失败。 4月22日00:25:59 BuyPandGDev01 polkitd [703]:unix-process的未注册认证代理:2105:147803(系统总线名称:1.43,obj 第2751-2788 / 2788行(完)
任何回复都会有所帮助和赞赏。
THX, 库马尔
答案 0 :(得分:1)
我在升级docker时发生了此错误。对我有用的解决方案是删除旧的docker文件/var/lib/docker/
并重新启动docker服务。这是解决方案。
# Remove docker files
$ rm -rf /var/lib/docker/
# Restart docker via service or via systemctl
$ service docker restart
$ service docker status
$ systemctl start docker.service
$ systemctl status docker.service
答案 1 :(得分:0)
要解决此问题,我已停止了docker服务,并重命名了docker文件并启动了docker。这样就创建了新的docker文件。现在,我删除了新的docker文件并重命名了旧的docker重启服务。现在,我可以看到旧的Docker映像了。
答案 2 :(得分:0)
在启动docker服务时也遇到此错误:
kernel: device-mapper: table: 253:1: thin: Couldn't open thin internal device
我通过创建从/var/lib/docker
到计算机上具有更多磁盘空间的另一个位置的软链接来修复它。
cd /var/lib/
mv docker docker.old
ln -s /path/to/big/disk/docker/ docker
重新启动服务:
systemctl restart docker