|
[i=s] 本帖最后由 秦曱凧 于 2025-1-1 23:29 编辑 [/i]<br />
<br />
[i=s] 本帖最后由 秦曱凧 于 2024-12-26 22:49 编辑 [/i]
升级docker
飞牛的docker版本较低,在部署一些使用特殊功能的容器,容器会无法运行,这是就需要升级docker,不过飞牛吧docker的版本锁定了,还需要一些操作才行
❗❗❗这个方法虽然也适用于其他被锁定版本的软件升级版本,但会造成意想不到的后果,需要谨慎操作.我自己就作死手动升级了samba这个软件,结果飞牛的smb共享的相关设置就不起作用了,只能手动修改配置文件配置smb共享,重装系统才解决,😂
具体方法
- 在飞牛网页端开启ssh
- 通过ssh协议登录飞牛(这里推荐tabby)
- 输入命令
sudo -i ,根据提示输入当前用户的密码,切换到root用户
- 查看docker版本
docker --version
- 输入命令
apt update 更新本地包索引数据库
- 输入下面命令解除docker及相关软件的版本锁定
apt-mark unhold docker-buildx-plugin && \
apt-mark unhold docker-ce && \
apt-mark unhold docker-ce-cli && \
apt-mark unhold docker-ce-rootless-extras
- 升级
apt upgrade
- 重新锁定docker及相关软件的版本
apt-mark hold docker-buildx-plugin && \
apt-mark hold docker-ce && \
apt-mark hold docker-ce-cli && \
apt-mark hold docker-ce-rootless-extras
- 查看docker版本
docker --version
如无意外,升级成功
自定义docker配置文件
这个操作也需要在root用户下进行.
docker配置文件的位置 /etc/docker/daemon.json
具体方法
- 先在飞牛的网页端启动docker,根据提示设置docker数据的位置
- 通过ssh登录飞牛,并切换到root用户下
- 复制备份配置文件中的内容
- 将下面内容写入配置文件,其中如果某一项是原来有的,就要原来的值替换下面的值,重启docker'
{
"data-root": "这个值用原来文件中的",
"live-restore": true,
"bip": "172.20.0.1/16",
"experimental": true,
"registry-**rors": [
"`https://docker.1ms.run`",
"https://docker.ketches.cn",
"https://docker.1panelproxy.com",
"https://proxy.1panel.live",
"https://dockerproxy.1panel.live",
"https://docker.rainbond.cc",
"https://docker.udayun.com",
],
"log-driver": "json-file",
"log-opts": {
"max-file": "3",
"max-size": "10m"
},
"ipv6": true,
"ip6tables": true,
"fixed-cidr-v6": "fd00::/80",
"insecure-registries": ["填写原来的值"]
问题
不知道什么原因,我碰到过飞牛会把自定义的配置覆盖掉的情况。
这个时候可以将配置文件的属性设置成不可修改,这样就不会担心配置文件被覆盖,如果需要修改,在将文件的属性改回来,修改完文件后再改回去,在root用户下执行
修改docker配置文件为不可更改
chattr +i /etc/docker/daemon.json
去掉docker配置文件为不可更改属性
chattr -i /etc/docker/daemon.json
配置文件推荐内容及说明
data-root 指定了Docker存储其数据的位置如拉取的镜像等
"live-restore": true Docker守护进程被重启或更新,正在运行的容器也不会被停止
bip: Docker 默认桥接网络的IP地址和子网掩码
experimental : 启用了Docker的实验性功能,建议不写
registry-**rors : 镜像加速列表,将原来的加上
log-driver : 指定了容器日志记录所使用的驱动程序,和保存格式
log-opts : 日志选项
max-file : 每个容器最多保留日志文件的数量
max-size : 单个日志文件的最大大小
ipv6 : 启用了对IPv6的支持
ip6tables : 允许Docker使用ip6tables来管理IPv6的防火墙规则
fixed-cidr-v6 : 指定了一个固定的IPv6 CIDR块
fd00::/80 这是一个本地唯一的地址前缀,通常用于私有网络
insecure-registries : 不需要TLS验证就可以连接的不安全注册表,通常是私有镜像仓库,没有可不写
|
|