liziwa Posted May 13, 2022 Share Posted May 13, 2022 我的软路由openwrt是安装在unraid的vm里,每次开机后docker就只能获取到ipv4的地址,无法获取到ipv6,需要在设置里开关docker一次才能获取到ipv6(重启容器也获取不到),我猜测可能是docker服务启动时openwrt的ipv6还未获取成功,docker就关闭了ipv6功能,所以请问有没有什么办法能让docker服务延时启动?或者有没有什么命令能让docker restart一次 Quote Link to comment
Pela Posted May 17, 2022 Share Posted May 17, 2022 systemctl restart docker 在云服务器上我是这么重启服务的,unraid没试过 Quote Link to comment
leverule Posted July 26, 2022 Share Posted July 26, 2022 请问有办法了吗,我也是all in one,路由没启动前,docker获取不到图标... Quote Link to comment
淡淡忧伤 Posted July 31, 2022 Share Posted July 31, 2022 取消 docker 的自动启动,,估算 虚拟机启动时间 比如 5分钟 添加自动任务 阵列启动后执行 #!/bin/bash sleep 5m docker start EmbyServer docker start XXXX 要按照需要 延迟启动(取消自动启动) 的名字,区分大小写。 Quote Link to comment
liziwa Posted August 1, 2022 Author Share Posted August 1, 2022 8 hours ago, 淡淡忧伤 said: 取消 docker 的自动启动,,估算 虚拟机启动时间 比如 5分钟 添加自动任务 阵列启动后执行 #!/bin/bash sleep 5m docker start EmbyServer docker start XXXX 要按照需要 延迟启动(取消自动启动) 的名字,区分大小写。 On 7/27/2022 at 5:16 AM, leverule said: 原来这里有设置延迟按钮 On 7/27/2022 at 5:08 AM, leverule said: 请问有办法了吗,我也是all in one,路由没启动前,docker获取不到图标... 这个延时只是延时启动docker容器,并不能解决无法获取ipv6的问题,这个情况下似乎整个unraid网络都没有ipv6,只能重启unraid网络服务、docker服务才行,我目前暂时通过以下方法解决了这个问题:在User Scripts里添加 At First Array Start Only 脚本,内容如下 #!/bin/bash echo "sleep 1m" sleep 1m is_docker_running=$(/etc/rc.d/rc.docker status | awk 'NR == 1 {print} ' | grep running) echo $is_docker_running if [ ! -z "$is_docker_running" ]; then /etc/rc.d/rc.inet1 restart /etc/rc.d/rc.docker restart echo "docker restart" fi 阵列启动后延时1分钟(这个时候软路由已经获取到了IPV6)重启inet、docker服务。但是这个方法也不太完美,所有自启动的容器会被启动两次。 Quote Link to comment
淡淡忧伤 Posted August 1, 2022 Share Posted August 1, 2022 11 hours ago, liziwa said: 这个延时只是延时启动docker容器,并不能解决无法获取ipv6的问题,这个情况下似乎整个unraid网络都没有ipv6,只能重启unraid网络服务、docker服务才行,我目前暂时通过以下方法解决了这个问题:在User Scripts里添加 At First Array Start Only 脚本,内容如下 #!/bin/bash echo "sleep 1m" sleep 1m is_docker_running=$(/etc/rc.d/rc.docker status | awk 'NR == 1 {print} ' | grep running) echo $is_docker_running if [ ! -z "$is_docker_running" ]; then /etc/rc.d/rc.inet1 restart /etc/rc.d/rc.docker restart echo "docker restart" fi 阵列启动后延时1分钟(这个时候软路由已经获取到了IPV6)重启inet、docker服务。但是这个方法也不太完美,所有自启动的容器会被启动两次。 哦哦,没注意看你的需求。以为跟我类似, 我是 VM 群晖。。。然后 mount 群晖的目录,, 要等待 群晖启动后,,执行挂载命令,,然后 启动容器。。 你说的 ,自启动容易,启动两次,就可以,,把自启动关闭,,然后把 启动容器的命令,跟在你上面的最后不就行了。。。 关闭自启动,,把启动容器命令加在你刚刚的 User Scripts 脚本后面。 不就只启动一次了??? Quote Link to comment
leverule Posted August 15, 2022 Share Posted August 15, 2022 卧槽,我也是all in one ,之前也发现容器拿不到v6,还以为是爱快的问题……也没仔细看楼主的问题,今天尝试重启docker 服务,果真如此 等等试一下楼上的方法 Quote Link to comment
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.