在銀河麒麟高階伺服器作業系統V10上安裝docker

整點bug發表於2021-12-22
銀河麒麟高階伺服器作業系統 V10 是針對企業級關鍵業務,適應虛擬化、 雲端計算、大資料、工業網際網路時代對主機系統可靠性、安全性、效能、擴充套件性和 實時性的需求,依據 CMMI 5 級標準研製的提供內生安全、雲原生支援、國產 平臺深入優化、高效能、易管理的新一代自主伺服器作業系統;同源支援飛騰、 龍芯、申威、兆芯、海光、鯤鵬等自主平臺;可支撐構建大型資料中心伺服器高 可用叢集、負載均衡叢集、分散式叢集檔案系統、虛擬化應用和容器雲平臺等, 可部署在物理伺服器和虛擬化環境、私有云、公有云和混合雲環境;應用於政府、 國防、金融、教育、財稅、公安、審計、交通、醫療、製造等領域。

公司有個專案需要將系統部署在 kylinos上,剛開始還有點頭疼,害怕各種程式無法安裝和使用,等安裝好伺服器進行使用的時候發現這不就是基於centos的嘛,雖然基於哪個版本不知道,但是可以測試的,於是我一頓操作,最後發現它是基於Centos8的,系統核心版本是 4.19,問題不大,既然是基於Centos8的,那Centos8上能跑的程式,在這肯定也能跑,然後我就開始了愉快(痛苦)的安裝docker之旅了。

配置阿里雲Centos8映象源

之所以要配置 Centos8 的映象源是因為在安裝docker的時候需要額外的一些依賴,而這些依賴在麒麟官方的源裡面是沒有的。

curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-8.repo

配置阿里雲 docker 映象源

yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
sed -i 's+download.docker.com+mirrors.aliyun.com/docker-ce+' /etc/yum.repos.d/docker-ce.repo

定義 yum 變數&修改 repo

修改 centos 和 docker repo檔案中的 $releasevercentos_version ,原因是在麒麟伺服器作業系統V10中 $releasever被修改為了 10,而我們需要使用 centos 8的映象源,如果你不替換,基本上倉庫的每一個地址都是404。

echo "8" > /etc/yum/vars/centos_version
sed -i 's/$releasever/$centos_version/g' /etc/yum.repos.d/docker-ce.repo
sed -i 's/$releasever/$centos_version/g' /etc/yum.repos.d/CentOS-Base.repo

建立yum快取

沒啥可說的

yum makecache

檢視docker-ce 版本

yum list docker-ce --showduplicates | sort -r

docker-ce.x86_64               3:20.10.9-3.el8                 docker-ce-stable
docker-ce.x86_64               3:20.10.8-3.el8                 docker-ce-stable
docker-ce.x86_64               3:20.10.7-3.el8                 docker-ce-stable
docker-ce.x86_64               3:20.10.6-3.el8                 docker-ce-stable
docker-ce.x86_64               3:20.10.5-3.el8                 docker-ce-stable
docker-ce.x86_64               3:20.10.4-3.el8                 docker-ce-stable
docker-ce.x86_64               3:20.10.3-3.el8                 docker-ce-stable
docker-ce.x86_64               3:20.10.2-3.el8                 docker-ce-stable
docker-ce.x86_64               3:20.10.1-3.el8                 docker-ce-stable
docker-ce.x86_64               3:20.10.12-3.el8                docker-ce-stable
docker-ce.x86_64               3:20.10.11-3.el8                docker-ce-stable
docker-ce.x86_64               3:20.10.10-3.el8                docker-ce-stable
docker-ce.x86_64               3:20.10.0-3.el8                 docker-ce-stable
docker-ce.x86_64               3:19.03.15-3.el8                docker-ce-stable
docker-ce.x86_64               3:19.03.15-3.el8                @docker-ce-stable
docker-ce.x86_64               3:19.03.14-3.el8                docker-ce-stable
docker-ce.x86_64               3:19.03.13-3.el8                docker-ce-stable

安裝docker

這裡要安裝 docker-ce 19.03 版本,因為我在使用最新版 20.10 啟動容器時出現了未知的許可權問題,而麒麟伺服器作業系統資料相對較少,我未能找到相應的解決方案,只好退而求其次,換到上一個穩定版本。

20.10 版本錯誤資訊如下:

docker: Error response from daemon: OCI runtime create failed: container_linux.go:318: starting container process caused "permission denied": unknown.
ERRO[0000] error waiting for container: context canceled

還是安裝 19.03 版本吧。

yum install docker-ce-19.03.15 docker-ce-cli-19.03.15 containerd.io -y

啟動docker

systemctl start docker
systemctl enable docker

啟動 hello-world 進行測試

root@localhost ~]# docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
2db29710123e: Pull complete
Digest: sha256:2498fce14358aa50ead0cc6c19990fc6ff866ce72aeb5546e1d59caac3d0d60f
Status: Downloaded newer image for hello-world:latest

Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
    (amd64)
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker ID:
 https://hub.docker.com/

For more examples and ideas, visit:
 https://docs.docker.com/get-started/

完美使用 -:)

相關文章