离线环境下,docker在麒麟系统上安装nginx镜像服务

在一台可联网的机器上,通过修改~/.docker/config.json启用Docker的实验性功能。接着,在/etc/docker/daemon.json中添加配置以使用镜像加速器。确认系统架构为ARM64后,从Docker仓库拉取稳定版的perlNginx镜像,检查镜像信息,将其打包为本地tar文件,然后上传到麒麟系统并创建镜像。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. 找到一台可以联网装有docker的机器,修改其docker配置
    vim /root/.docker/config.json。没有该文件则新建。
    修改文件内容如下:
    {
        "auth": {},
        "experimental": "enabled"
    }
  2. 修改镜像加速器。
    vim /etc/docker/daemon.json。添加”experimental”: true
  3. 重新加载镜像
    systemctl daemon-reload
    systemctl restart docker
  4. 查看docker info
  5. 查看麒麟的操作系统架构
    uname -a如果输出内容中有关键词 aarch64 就是 ARM 架构, x86_64 就是 X86 架购(架构区别解释)。我这里是aarch64。
  6. Docker上找到对应版本的镜像
  7. 下载镜像
    ​​​​​​​docker pull nginx:stable-perl@sha256:047b6ea993a0a2b863eb17582d0a057c9cb4a5089f7439dc61da2488983e393b
  8. 查看镜像信息是否正确
    docker inspect 8e151b70596c
  9. 打包镜像至本地
    docker save -o nginx-arm.tar 8e151b70596c
  10. 上传镜像至麒麟系统后,创建该镜像
    docker load -i nginx-arm.tar

 

 

 

 

<think>好的,我需要帮助用户验证在麒麟系统的arm64架构上Docker的兼容性和正确性。根据用户提供的引用资料,特别是引用[4]中的步骤,我需要整理出一个清晰的验证流程。 首先,用户需要确认系统版本和架构。查看/etc/kylin-release和uname -p可以获取这些信息。确保系统是麒麟V10,架构是aarch64或arm64,这是arm64架构的常见标识。 接下来,检查Docker是否正确安装。运行docker --version和dockerd --version可以确认安装的版本是否符合要求,比如用户提到的Docker 19或更高版本。如果版本正确,说明安装步骤已经完成。 然后,验证Docker服务是否正常运行。启动Docker守护进程(可能需要使用systemctl start docker或者直接运行dockerd),然后运行docker info查看详细信息。这里需要关注架构信息,确保输出中包含aarch64或arm64,表明Docker确实运行在arm架构上。 为了进一步测试,运行一个arm架构的容器,例如docker run --rm arm64v8/ubuntu uname -m。如果输出显示aarch64,说明容器正确识别了架构,兼容性良好。如果找不到arm镜像,可能需要使用专为arm构建的镜像,比如官方的arm64v8/ubuntu。 此外,检查日志是否有错误信息也很重要。使用journalctl -u docker.service或查看/var/log/docker.log,可以排查启动或运行中的问题。如果遇到权限问题,可能需要将用户加入docker组,或者使用sudo执行命令。 用户提到的离线安装可能需要确保所有依赖项已正确安装,比如containerd和runc。如果这些组件缺失,Docker可能无法正常工作。同时,防火墙设置(如iptables)也需要正确配置,避免网络问题影响容器通信。 最后,如果所有步骤都通过,可以确认Docker在麒麟arm64架构上兼容性良好。如果存在问题,建议根据日志和错误信息进一步排查,或者参考提供的引用链接中的详细安装步骤进行调整。</think>### 麒麟系统验证Docker arm64支持的步骤 #### 1. **确认系统架构和版本** - **查看系统版本**: ```bash cat /etc/kylin-release ``` 输出应包含类似`Kylin Linux Advanced Server release V10 (Tercel)`,确认是麒麟V10系统[^4]。 - **检查CPU架构**: ```bash uname -p ``` 若输出为`aarch64`或`arm64`,则为ARM架构。 #### 2. **验证Docker安装状态** - **查看Docker版本**: ```bash docker --version ``` 输出应显示Docker版本(如19.x或更高),确认二进制文件已正确安装[^3]。 - **检查Docker守护进程**: ```bash dockerd --version ``` 确保`dockerd`与`docker`版本一致。 #### 3. **测试Docker服务运行** - **启动Docker服务**: ```bash sudo systemctl start docker # 若使用systemd # 或手动启动守护进程(离线安装场景) sudo dockerd & ``` - **查看Docker系统信息**: ```bash docker info ``` 在输出中检查以下字段: - `Architecture: aarch64`(确认支持ARM64) - `Server Version: 19.03.x`(版本符合预期)[^2][^4]。 #### 4. **运行ARM64容器测试** - **拉取并运行ARM架构镜像**: ```bash docker run --rm arm64v8/ubuntu uname -m ``` 若输出为`aarch64`,则表明容器在ARM64架构下正常运行。 - **验证跨架构兼容性(可选)**: 若需运行x86镜像,需启用QEMU模拟(需提前安装`qemu-user-static`): ```bash docker run --rm --platform linux/amd64 amd64/ubuntu uname -m ``` 输出应为`x86_64`,但此功能依赖额外配置[^1]。 #### 5. **检查日志与错误排查** - **查看Docker服务日志**: ```bash journalctl -u docker.service # systemd日志 # 或直接查看Docker日志文件 tail -f /var/log/docker.log ``` 确认无`unsupported architecture`或`exec format error`等错误。 - **验证依赖组件**: 检查`containerd`和`runc`是否已正确安装离线安装需手动部署): ```bash containerd --version runc --version ``` ### 验证结果说明 - **兼容性通过**:若上述步骤均无报错,且容器能正确识别架构,则Docker在麒麟ARM64系统上兼容性良好。 - **常见问题**: - **依赖缺失**:离线安装需确保`containerd`、`runc`等组件已部署[^3]。 - **权限问题**:将用户加入`docker`组:`sudo usermod -aG docker $USER`。 - **镜像不匹配**:使用`arm64v8/`前缀的官方镜像(如`arm64v8/nginx`)[^4]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值