收起左侧

#萌新折腾笔记# 为Docker容器补全延迟启动功能

13
回复
1585
查看
[ 复制链接 ]

11

主题

96

回帖

195

牛值

共建版主

社区上线纪念勋章社区共建团荣誉勋章

2024-11-29 16:52:09 显示全部楼层 阅读模式

前言

在某些情况下,我们可能希望在启动 Docker 容器时存在先后顺序,以确保某些前置条件已经满足,例如等待数据库初始化完成、等待cd2完成挂载后再运行其他容器等等。目前飞牛docker暂不具有延时方面的相关功能,为此笔者写了一个简单的脚本项目来实现这一功能,脚本执行后会按用户要求创建一个服务,并按用户设置对容器进行启用(目前系统更新不会对用户创建的服务做更改),整体操作非常简单!

关闭自动启动

在执行脚本前,我们需要确定容器的正确部署,最好自己先运行一次。 对于需要添加到延时启动的容器,我们需要关闭他的自启动功能: 容器UI修改方法如下: image.png Compose部署修改方法如下(该方法修改后请手动构建一次以应用修改) image.png

执行脚本

打开终端,输入一下命令,回车执行:

curl -s https://gitee.com/ewedl/fn-docker-delay/raw/master/fndocker.sh -o /tmp/fndocker.sh && sudo bash /tmp/fndocker.sh && rm /tmp/fndocker.sh

系统会自动进入交互界面,按照脚本指引,结合自身需求配置即可,大致如下: image.png 创建完成后,即可重启查看效果,无需进行其他设置。 此外,后续我们也可以直接对配置文件进行修改,默认位于/vol1/1000/config下,该脚本没有任何限制,完全可自定义,你也可以拿他来做别的事情。手动修改完成后,务必再次授予他可执行权限:

chmod +x /你的目录/start_docker.sh

Enjoy!!!

收藏
送赞 1
分享

6

主题

17

回帖

0

牛值

江湖小虾

社区上线纪念勋章

2024-11-29 16:58:54 显示全部楼层
大佬V5  解决了一大痛点  强烈支持!
[md]:谢谢支持,一起进步 [/md]  详情 回复
2024-11-29 17:15

11

主题

96

回帖

195

牛值

共建版主

社区上线纪念勋章社区共建团荣誉勋章

2024-11-29 17:15:40 楼主 显示全部楼层

:lol:谢谢支持,一起进步

4

主题

11

回帖

0

牛值

fnOS系统内测组

2024-12-7 13:06:53 显示全部楼层
为什么我这里只显示出一部分docker容器名字,有一部分没显示出来
不能够啊,没显示的那部分是以其他方式安装的?  详情 回复
2024-12-7 21:32

11

主题

96

回帖

195

牛值

共建版主

社区上线纪念勋章社区共建团荣誉勋章

2024-12-7 21:32:21 楼主 显示全部楼层
不能够啊,没显示的那部分是以其他方式安装的?
我设置完,重启,也没自动启动  详情 回复
2024-12-8 09:20

4

主题

11

回帖

0

牛值

fnOS系统内测组

2024-12-8 09:20:13 显示全部楼层
我设置完,重启,也没自动启动
方便的话可以在终端输入sudo systemctl status start_docker.service查看一下状态  详情 回复
2024-12-8 15:00

11

主题

96

回帖

195

牛值

共建版主

社区上线纪念勋章社区共建团荣誉勋章

2024-12-8 15:00:46 楼主 显示全部楼层
方便的话可以在终端输入sudo systemctl status start_docker.service查看一下状态
[md]![微信截图_20241209063148.png](data/attachment/forum/202412/09/063209tru1rq19ruvufrq0.png "微信截图_20241209063148.png") [/md]  详情 回复
2024-12-9 06:32

4

主题

11

回帖

0

牛值

fnOS系统内测组

2024-12-9 06:32:22 显示全部楼层

微信截图_20241209063148.png

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
[md]按照下面这个步骤来检查: 1、检查用于存放配置文件的路径,看看配置文件是否生成; 2、打开配置文件看看内容是否正常 3、如果前两点都没问题,执行chmod +x /你的目录/start_docker.sh 赋予文件执行权限,然后 s  详情 回复
2024-12-9 14:06

1

主题

11

回帖

0

牛值

江湖小虾

2024-12-9 08:10:43 显示全部楼层
docker-compose 文件里面不是有 depends 选项吗?可以实现这个需求,官方支持的
你试试就知道了,把cd2和随便一个容器放在一起,进去后看看容器里有没有cd2的路径  详情 回复
2024-12-9 13:56

11

主题

96

回帖

195

牛值

共建版主

社区上线纪念勋章社区共建团荣誉勋章

2024-12-9 13:56:24 楼主 显示全部楼层
你试试就知道了,把cd2和随便一个容器放在一起,进去后看看容器里有没有cd2的路径

11

主题

96

回帖

195

牛值

共建版主

社区上线纪念勋章社区共建团荣誉勋章

2024-12-9 14:06:34 楼主 显示全部楼层

按照下面这个步骤来检查: 1、检查用于存放配置文件的路径,看看配置文件是否生成; 2、打开配置文件看看内容是否正常 3、如果前两点都没问题,执行chmod +x /你的目录/start_docker.sh 赋予文件执行权限,然后 sudo systemctl restart start_docker.service重启服务 sudo systemctl status start_docker.service再次查看服务状态 如果正常,应该显示如下:

image.png

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
[md]不行,明明有这个文件,说没有 ![6666.png](data/attachment/forum/202412/10/093058vww1c4ebiwoimkxz.png "6666.png") ![555555.png](data/attachment/forum/202412/10/093106vogzpkoogfkpmsso.png "555555  详情 回复
2024-12-10 09:31

4

主题

11

回帖

0

牛值

fnOS系统内测组

2024-12-10 09:31:11 显示全部楼层

不行,明明有这个文件,说没有

6666.png

555555.png

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

0

主题

7

回帖

0

牛值

江湖小虾

2025-2-23 17:26:30 显示全部楼层
大佬,想延迟启动虚拟机该如何设置?

0

主题

1

回帖

0

牛值

江湖小虾

2025-4-15 19:23:09 显示全部楼层
大佬**!!!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则