商城首页欢迎来到中国正版软件门户

您的位置: 首页 > 文章列表 > 系统应用 > 银河麒麟V10 (kylinos)操作教程:配置Docker容器环境

银河麒麟V10 (kylinos)操作教程:配置Docker容器环境

  发布于2026-05-22 阅读(0)

扫一扫,手机访问

在银河麒麟V10系统上安装好Docker后,如果发现容器跑不起来,或者功能受限,先别急着怀疑是系统兼容性问题。很多时候,问题出在环境配置上——比如守护进程没调好、存储驱动不兼容,或者cgroup版本没对上。下面这几个方法,能帮你把Docker环境彻底理顺。

一、配置Docker守护进程(daemon.json)

想让容器在银河麒麟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存储驱动

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格式分区

三、配置cgroup v2兼容模式

银河麒麟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”

四、配置非root用户容器执行权限

每次执行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----

五、配置Containerd作为默认运行时

从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”

本文转载于:https://www.php.cn/faq/2392900.html 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。

热门关注