记录日常工作关于系统运维,虚拟化云计算,数据库,网络安全等各方面问题。

OpenEuler 22.03LTS重启后,docker丢失自定义网络,docker-compose报错: network not found


1.问题描述

如果你在华为OpenEuler 22.03LTS系统中


使用yum或者dnf安装docker,docker network create 创建的网络,然后重启宿主机,会发现之前的网络全都不见了

或者docker-compse创建一组容器,重启宿主机会发现docker-compose无法启动,报错找不到网络

如果只是想解决以上问题,不关心处理过程,请直接去看第三段


2.定位问题

整个处理过程我深感大局域网已死,查中文资料都得上科技去外网


翻遍baidu我也找不到解决办法,把docker-compose的报错贴出来,只有几个机翻外国网站的答案,比如让配置nat


翻遍官方gitee的issues,也只找到有人7个月前提出同样问题,然后被官方踢皮球。


无奈上科技去google搜索,顺利找到了欧拉官方文档关于这个问题的说明:《系统掉电影响》


整个说明很有意思,非常有中国一刀切的传统智慧,简单说就是:宿主机意外重启偶尔可能有问题,所以我们干脆每次重启都删除docker的数据,这样问题就可以稳定出现了(每次都丢失)


看了官方文档我内心都崩溃了,为了解决这个破系统里面docker-compose老是丢网络无法重启的问题,我五一都在加班,请问华为赔我三倍工资吗?


本以为定位到问题,可以按照官方文档开心解决了,没想到还有坑,官方说怎么关闭这个脑残设置呢,以下是原话:


用户若选择采用手动清理恢复环境的方式,可通过配置环境变量“DISABLE_CRASH_FILES_DELETE=true”屏蔽daemon掉电重启时db文件清理功能。


看了文档,我二话没说,去/etc/profile加了 export DISABLE_CRASH_FILES_DELETE=true,本以为这下可以开心过节了,没想到重启后屁用没有


崩溃啊!!!华为还我假期!!!


3.解决方案

最后反复尝试,发现是文档措辞不严谨,不是在整个系统环境变量里加,而是在/etc/sysconfig/docker里面加,如下:


# /etc/sysconfig/docker


# Modify these options if you want to change the way the docker daemon runs

OPTIONS='--live-restore=false'

# 这里写上

DISABLE_CRASH_FILES_DELETE=true

 ————

版权声明:本文为CSDN博主「hotcoffie」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/hotcoffie/article/details/130457800




转载请标明出处【OpenEuler22.03LTS重启docker丢失自定义网络,报错:network not found】。

《www.micoder.cc》 虚拟化云计算,系统运维,安全技术服务.

网站已经关闭评论