目录

一、x86机构

1、ubuntu 20.04

2、ubuntu 18.04

3、ubuntu 21.10

4、ubuntu 22.04

二、arm机构

1、ubuntu 20.04

2、ubuntu 18.04

3、ubuntu 21.10

4、ubuntu 22.04

三、出现的问题

1、换成国内源后报https证书问题

2、如果选择国内开源站

​3、提示the public key is not available: NO_PUBKEY XXXX


由于arm架构的ubuntu系统通过容器运行时出现不兼容或者update报错的问题,在此整理下这两天的结果。
测试的机器分别是centos7.5和kylin v10系统,分别对应x86和arm架构。镜像仓库选择dockerhub官网。apt源选择默认源和清华源测试。ubuntu的镜像源每个版本的代号:22.10:kinetic;22.04:jammy;21.10 :impish;20.04:focal;18.04:bionic;16.04:xenial;14.04:trusty。
先说结论,ubuntu21.10版本update不能用,22.04版本x86正常arm需要添加–privileged参数,其他版本正常,后续会补充进展。欢迎各位大佬留言解惑

一、x86机构

1、ubuntu 20.04

docker run -it –rm –name test ubuntu:20.04 bash

cat /etc/issue

cat /etc/apt/sources.list

默认用官方源Index of /ubuntu更新正常

换成清华源,默认用https地址会报错(参考文章3.1),手动替换(如何用清华源参考3.2)

cat < /etc/apt/sources.list
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal universe
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates universe
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security main restricted
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security universe
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security multiverse
EOF

2、ubuntu 18.04

docker run -it –rm –name test ubuntu:18.04 bash

官方源ok,清华源ok

3、ubuntu 21.10

docker run -it –rm –name test ubuntu:21.10 bash

官方源error,清华源error

说是没找到impish这个release,看了下dists确实没有,这点还在研究。

4、ubuntu 22.04

docker run -it –rm –name test ubuntu:22.04 bash

官方源ok

二、arm机构

1、ubuntu 20.04

docker run -it –rm –name test ubuntu:20.04 bash

cat /etc/issue

cat /etc/apt/sources.list

默认用官方源Index of /ubuntu-ports更新正常

换成清华源,默认用https地址会报错(参考文章3.1),手动替换

cat < /etc/apt/sources.list
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ focal main restricted
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ focal-updates main restricted
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ focal universe
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ focal-updates universe
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ focal multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ focal-updates multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ focal-backports main restricted universe multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ focal-security main restricted
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ focal-security universe
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ focal-security multiverse
EOF

2、ubuntu 18.04

docker run -it –rm –name test ubuntu:18.04 bash

官方源ok,清华源ok

3、ubuntu 21.10

docker run -it –rm –name test ubuntu:21.10 bash

官方源error,清华源error

4、ubuntu 22.04

docker run -it –rm –name test ubuntu:22.04 bash

官方源error

尝试过注册key的方法,无效(参考3.3)

目前只能通过不校验成功update

docker run -it –rm –name test –privileged ubuntu:22.04 bash

参考了:docker运行ubuntu22.04出现异常(转载)_qq_43808467的博客-CSDN博客

AGX Xavier Ubuntu 18.04 docker无法apt update问题解决 – 知乎

docker – apt update throws signature error in Ubuntu 20.04 container on arm – Ask Ubuntu

三、出现的问题

1、换成国内源后报https证书问题

Certificate verification failed: The certificate is NOT trusted. The certificate issuer is unknown. Could not handshake: Error in the certificate verification

ubuntu | 镜像站使用帮助 | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror

解决:
有两种方式,手动安装ca-certificates或者把源地址换成http。

手动安装ca-certificates需要的文件:

https://download.csdn.net/download/weixin_39855998/87322568

2、如果选择国内开源站

以清华为例,访问:清华大学开源软件镜像站 | Tsinghua Open Source Mirror

搜索ubuntu镜像,ubuntu下面是x86,ubuntu-ports下面是arm架构

点击黑色问号可以直接复制source.list的地址

点进去查看dists可以看到当前存在哪些版本的包

3、提示the public key is not available: NO_PUBKEY XXXX

注册这个key,报错缺包:

E: gnupg, gnupg2 and gnupg1 do not seem to be installed, but one of them is required for this operation(此处陷入死循环,update源需要安装gnupg包,安装gnupg包需要首先update)

apt-key adv –keyserver hkp://keyserver.ubuntu.com:80 –recv-keys 871920D1991BC93C

不信邪了,直接把所有依赖deb全部找齐

本地安装gnupg,继续

这次不报错了