发布于2026-05-22 阅读(0)
扫一扫,手机访问
在银河麒麟V10系统上安装好Docker后,如果发现容器跑不起来,或者功能受限,先别急着怀疑是系统兼容性问题。很多时候,问题出在环境配置上——比如守护进程没调好、存储驱动不兼容,或者cgroup版本没对上。下面这几个方法,能帮你把Docker环境彻底理顺。
想让容器在银河麒麟V10的内核下稳定运行,第一步就是搞定Docker守护进程的配置文件。这个文件好比Docker的“总控台”,镜像仓库、日志策略、存储驱动这些核心参数都在这里设定。
1、创建Docker配置目录(若不存在):
sudo mkdir -p /etc/docker
2、使用文本编辑器新建或编辑配置文件:
sudo vim /etc/docker/daemon.json
3、写入标准适配配置(适配Kylin V10 aarch64/x86_64架构及4.19+内核):
{
“storage-driver”: “overlay2”,
“log-driver”: “json-file”,
“log-opts”: {
“max-size”: “10m”,
“max-file”: “3”
},
“registry-mirrors”: [“https://docker.mirrors.ustc.edu.cn”],
“exec-opts”: [“native.cgroupdriver=systemd”]
}
4、保存退出后重载Docker守护进程:
sudo systemctl daemon-reload
5、重启Docker服务以应用新配置:
sudo systemctl restart docker
overlay2是银河麒麟V10官方推荐的容器存储驱动。它依赖内核的overlay模块,并且对文件系统有要求。如果这一步没配好,拉取镜像或者启动容器时很可能报错。
1、检查overlay内核模块是否已加载:
lsmod | grep overlay
2、若无输出,手动加载模块:
sudo modprobe overlay
3、确保开机自动加载,创建配置文件:
echo “overlay” | sudo tee /etc/modules-load.d/overlay.conf
4、验证文件系统是否支持xfs(/var/lib/docker所在分区):
df -T /var/lib/docker | awk ‘NR==2 {print $2}’
5、若返回ext4,需确认内核支持overlay2 on ext4(Kylin V10 SP1+内核4.19.90及以上已原生支持),否则必须将/var/lib/docker挂载到xfs格式分区
银河麒麟V10默认启用了cgroup v2,但一些旧版本的Docker二进制包可能只认cgroup v1。如果遇到“cgroup controller not found”这类错误,就需要手动开启v1的兼容支持。
1、编辑GRUB配置文件:
sudo vim /etc/default/grub
2、在GRUB_CMDLINE_LINUX行末尾添加参数:
systemd.unified_cgroup_hierarchy=0 systemd.legacy_systemd_cgroup_controller=1
3、更新GRUB配置:
sudo update-grub
4、重启系统使内核参数生效:
sudo reboot
5、重启后验证cgroup版本:
cat /proc/1/cgroup | head -1 | cut -d: -f3 | grep -q “/” && echo “cgroup v1 active” || echo “cgroup v2 only”
每次执行docker命令都要加sudo,既麻烦也不安全。正确的做法是把日常使用的用户加入docker组,这直接关系到容器环境的易用性和安全边界。
1、创建docker用户组(如不存在):
sudo groupadd docker
2、将当前用户加入docker组:
sudo usermod -aG docker $USER
3、刷新组权限(无需登出):
newgrp docker
4、验证权限是否生效:
docker run --rm hello-world
5、若提示“permission denied”,请确认/var/run/docker.sock文件属组为docker且权限为srw-rw----
从Docker 20.10版本开始,Containerd就成了默认的容器运行时。在银河麒麟V10里显式配置它,不仅能提升容器启动速度,还能增强资源隔离的稳定性,对于运行.NET、Ja va这类对CPU和内存控制精度要求高的应用尤其有益。
1、确认Containerd已安装并运行:
sudo systemctl status containerd
2、编辑Docker守护进程配置,指定运行时路径:
sudo vim /etc/docker/daemon.json
3、在原有配置中追加runtimes字段:
“runtimes”: {
“io.containerd.runc.v2”: {
“path”: “/usr/bin/runc”
}
},
“default-runtime”: “io.containerd.runc.v2”
4、重启Docker服务:
sudo systemctl restart docker
5、验证运行时类型:
docker info | grep “Default Runtime”
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
4
5
6
7
8
9