需启用内核cgroups/namespace、安装Docker CE、启动并配置守护进程、验证运行状态、配置国内镜像加速与存储路径。
如果您在统信uos系统上需要部署docker容器运行环境,但发现默认未预装或服务无法正常启动,则可能是由于内核模块未启用、依赖包缺失或用户权限配置不当所致。以下是完成uosdocker环境部署的具体步骤:
一、验证系统兼容性与内核支持
统信UOS基于Linux内核,需确认当前版本内核已启用cgroups v1/v2及namespace相关功能,这是Docker运行的底层前提。若内核版本过低或裁剪过度,可能导致容器引擎初始化失败。
1、打开终端,执行 uname -r 查看内核版本,确保不低于5.4。
2、执行 zcat /proc/config.gz | grep -E "(CONFIG_NAMESPACES|CONFIG_CGROUPS)"(若提示无config.gz,尝试读取/boot/config-$(uname -r)),确认输出中包含 =y 或 =m。
3、运行 ls /sys/fs/cgroup/ 检查cgroup挂载点是否存在非空目录结构。
二、安装Docker CE官方软件包
统信UOS适配了Docker CE的ARM64与AMD64架构二进制包,推荐通过APT源方式安装以保障依赖自动解析和签名验证。
1、执行 sudo apt update && sudo apt install -y curl gnupg2 software-properties-common 安装基础工具。
2、运行 curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/debian/gpg | sudo apt-key add - 导入Docker官方GPG密钥。
3、添加Docker稳定版APT源:echo "deb [arch=$(dpkg --print-architecture)] https://mirrors.ustc.edu.cn/docker-ce/linux/debian $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list。
4、再次执行 sudo apt update,随后运行 sudo apt install -y docker-ce docker-ce-cli containerd.io。
三、启用并配置Docker守护进程
Docker服务默认未开机自启,且普通用户无权访问/var/run/docker.sock,需手动启用服务并加入用户组以避免每次使用sudo。
1、启动Docker服务:sudo systemctl start docker。
2、设置开机自启:sudo systemctl enable docker。
3、创建docker用户组(如不存在):sudo groupadd docker。
4、将当前用户加入docker组:sudo usermod -aG docker $USER。
5、退出当前会话并重新登录,或执行 newgrp docker 刷新组权限。
四、验证Docker运行状态与基础镜像拉取
完成安装与服务配置后,需验证Docker守护进程是否响应、能否正常拉取并运行官方测试镜像,以确认整个链路可用。
1、检查服务状态:sudo systemctl status docker,确认Active字段为 active (running)。
2、运行权限测试:docker run hello-world,观察是否输出欢迎信息且无permission denied报错。
3、拉取基础镜像:docker pull registry.cn-hangzhou.aliyuncs.com/acs-sample/nginx:1.14(使用阿里云镜像加速地址提升成功率)。
4、启动临时容器验证网络与运行时:docker run -d -p 8080:80 --name test-nginx registry.cn-hangzhou.aliyuncs.com/acs-sample/nginx:1.14。
五、配置国内镜像加速器与容器存储路径
统信UOS默认使用Docker Hub官方源,受网络限制易超时失败;同时根分区空间有限时,需将容器镜像存储迁移至大容量挂载点,避免系统盘写满。
1、创建Docker守护进程配置目录:sudo mkdir -p /etc/docker。
2、写入镜像加速配置:sudo tee /etc/docker/daemon.json xxx.mirror.aliyuncs.com"]\n}\nEOF(将xxx替换为实际申请的阿里云容器镜像服务专属加速地址)。
3、重启Docker服务使配置生效:sudo systemctl daemon-reload && sudo systemctl restart docker。
4、若需修改存储路径,编辑 /etc/docker/daemon.json,添加 "data-root": "/mnt/docker-data" 字段(需确保/mnt/docker-data已存在且有读写权限)。










