十念 发表于 2024-6-15 02:39:42

银河麒麟操作系统 v10 中离线安装 Docker

1. 检察系统版本

# cat /etc/os-release
NAME="Kylin Linux Advanced Server"
VERSION="V10 (Lance)"
ID="kylin"
VERSION_ID="V10"
PRETTY_NAME="Kylin Linux Advanced Server V10 (Lance)"
ANSI_COLOR="0;31"
#
2. 检察 Linux 内核版本(3.10以上)

# uname -r
4.19.90-52.22.v2207.ky10.aarch64
# uname -a
Linux localhost.localdomain 4.19.90-52.22.v2207.ky10.aarch64 #1 SMP Tue Mar 14 11:52:45 CST 2023 aarch64 aarch64 aarch64 GNU/Linux
#
3. 检察 iptabls 版本(1.4以上)

# iptables --version
iptables v1.8.5 (legacy)
4. 判断处置惩罚器架构

# uname -p
aarch64
#
可以看到,系统处置惩罚器架构为 ARM 架构;如果为 x86 架构的,则会表现 x86_64;
5. 离线下载 Docker 安装包

https://download.docker.com/linux/static/stable/
https://img-blog.csdnimg.cn/direct/77e3475117f54f2da9e7d23b59035b67.png
点进去,选择想要安装的版本,我这里为了跟测试情况保持同等,下载了一个相对旧点的版本:docker-20.10.6.tgz
下载完成后,上传至服务器 /opt 目录下,然后解压:tar -zxvf docker-20.10.6.tgz
6. 移动解压出来的二进制文件到 /usr/bin 目录中

mv docker/* /usr/bin/
然后就可以测试下Docker
# docker -v
Docker version 20.10.6, build 370c289
#
# docker version
Client:
Version:         20.10.6
API version:       1.41
Go version:      go1.13.15
Git commit:      370c289
Built:             Fri Apr9 22:42:28 2021
OS/Arch:         linux/arm64
Context:         default
Experimental:      true
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
#
此时Docker 还没启动,只是可以看到Docker 的版本信息了。
测试 Docker 启动:
# dockerd
INFO Starting up                                 
WARN could not change group /var/run/docker.sock to docker: group docker not found
INFO libcontainerd: started new containerd processpid=38904
INFO parsed scheme: "unix"                         module=grpc
INFO scheme "unix" not registered, fallback to default schememodule=grpc
INFO ccResolverWrapper: sending update to cc: {[{unix:///var/run/docker/containerd/containerd.sock<nil> 0 <nil>}] <nil> <nil>}module=grpc
INFO ClientConn switching balancer to "pick_first"module=grpc
INFO starting containerd                           revision=05f951a3781f4f2c1911b05e61c160e9c30eaa8e version=v1.4.4
INFO loading plugin "io.containerd.content.v1.content"...type=io.containerd.content.v1
INFO loading plugin "io.containerd.snapshotter.v1.aufs"...type=io.containerd.snapshotter.v1
INFO loading plugin "io.containerd.snapshotter.v1.btrfs"...type=io.containerd.snapshotter.v1
INFO skip loading plugin "io.containerd.snapshotter.v1.btrfs"...error="path /var/lib/docker/containerd/daemon/io.containerd.snapshotter.v1.btrfs (xfs) must be a btrfs filesystem to be used with the btrfs snapshotter: skip plugin" type=io.containerd.snapshotter.v1
INFO loading plugin "io.containerd.snapshotter.v1.devmapper"...type=io.containerd.snapshotter.v1
WARN failed to load plugin io.containerd.snapshotter.v1.devmappererror="devmapper not configured"
INFO loading plugin "io.containerd.snapshotter.v1.native"...type=io.containerd.snapshotter.v1
INFO loading plugin "io.containerd.snapshotter.v1.overlayfs"...type=io.containerd.snapshotter.v1
INFO loading plugin "io.containerd.snapshotter.v1.zfs"...type=io.containerd.snapshotter.v1
INFO skip loading plugin "io.containerd.snapshotter.v1.zfs"...error="path /var/lib/docker/containerd/daemon/io.containerd.snapshotter.v1.zfs must be a zfs filesystem to be used with the zfs snapshotter: skip plugin" type=io.containerd.snapshotter.v1
INFO loading plugin "io.containerd.metadata.v1.bolt"...type=io.containerd.metadata.v1
WARN could not use snapshotter devmapper in metadata pluginerror="devmapper not configured"
INFO metadata content store policy set             policy=shared
INFO loading plugin "io.containerd.differ.v1.walking"...type=io.containerd.differ.v1
INFO loading plugin "io.containerd.gc.v1.scheduler"...type=io.containerd.gc.v1
INFO loading plugin "io.containerd.service.v1.introspection-service"...type=io.containerd.service.v1
INFO loading plugin "io.containerd.service.v1.containers-service"...type=io.containerd.service.v1
INFO loading plugin "io.containerd.service.v1.content-service"...type=io.containerd.service.v1
INFO loading plugin "io.containerd.service.v1.diff-service"...type=io.containerd.service.v1
INFO loading plugin "io.containerd.service.v1.images-service"...type=io.containerd.service.v1
INFO loading plugin "io.containerd.service.v1.leases-service"...type=io.containerd.service.v1
INFO loading plugin "io.containerd.service.v1.namespaces-service"...type=io.containerd.service.v1
INFO loading plugin "io.containerd.service.v1.snapshots-service"...type=io.containerd.service.v1
INFO loading plugin "io.containerd.runtime.v1.linux"...type=io.containerd.runtime.v1
INFO loading plugin "io.containerd.runtime.v2.task"...type=io.containerd.runtime.v2
INFO loading plugin "io.containerd.monitor.v1.cgroups"...type=io.containerd.monitor.v1
INFO loading plugin "io.containerd.service.v1.tasks-service"...type=io.containerd.service.v1
INFO loading plugin "io.containerd.internal.v1.restart"...type=io.containerd.internal.v1
INFO loading plugin "io.containerd.grpc.v1.containers"...type=io.containerd.grpc.v1
INFO loading plugin "io.containerd.grpc.v1.content"...type=io.containerd.grpc.v1
INFO loading plugin "io.containerd.grpc.v1.diff"...type=io.containerd.grpc.v1
INFO loading plugin "io.containerd.grpc.v1.events"...type=io.containerd.grpc.v1
INFO loading plugin "io.containerd.grpc.v1.healthcheck"...type=io.containerd.grpc.v1
INFO loading plugin "io.containerd.grpc.v1.images"...type=io.containerd.grpc.v1
INFO loading plugin "io.containerd.grpc.v1.leases"...type=io.containerd.grpc.v1
INFO loading plugin "io.containerd.grpc.v1.namespaces"...type=io.containerd.grpc.v1
INFO loading plugin "io.containerd.internal.v1.opt"...type=io.containerd.internal.v1
INFO loading plugin "io.containerd.grpc.v1.snapshots"...type=io.containerd.grpc.v1
INFO loading plugin "io.containerd.grpc.v1.tasks"...type=io.containerd.grpc.v1
INFO loading plugin "io.containerd.grpc.v1.version"...type=io.containerd.grpc.v1
INFO loading plugin "io.containerd.grpc.v1.introspection"...type=io.containerd.grpc.v1
INFO serving...                                    address=/var/run/docker/containerd/containerd-debug.sock
INFO serving...                                    address=/var/run/docker/containerd/containerd.sock.ttrpc
INFO serving...                                    address=/var/run/docker/containerd/containerd.sock
INFO containerd successfully booted in 0.063779s
INFO parsed scheme: "unix"                         module=grpc
INFO scheme "unix" not registered, fallback to default schememodule=grpc
INFO ccResolverWrapper: sending update to cc: {[{unix:///var/run/docker/containerd/containerd.sock<nil> 0 <nil>}] <nil> <nil>}module=grpc
INFO ClientConn switching balancer to "pick_first"module=grpc
INFO parsed scheme: "unix"                         module=grpc
INFO scheme "unix" not registered, fallback to default schememodule=grpc
INFO ccResolverWrapper: sending update to cc: {[{unix:///var/run/docker/containerd/containerd.sock<nil> 0 <nil>}] <nil> <nil>}module=grpc
INFO ClientConn switching balancer to "pick_first"module=grpc
INFO Loading containers: start.                  
INFO Default bridge (docker0) is assigned with an IP address 172.17.0.0/16. Daemon option --bip can be used to set a preferred IP address
INFO Firewalld: interface docker0 already part of docker zone, returning
INFO Loading containers: done.                  
INFO Docker daemon                                 commit=8728dd2 graphdriver(s)=overlay2 version=20.10.6
INFO Daemon has completed initialization         
INFO API listen on /var/run/docker.sock         

可以看到 docker 可以正常启动,不过当前是在窗口中手动启动的,Ctrl + C,杀掉就好。
^CINFO Processing signal 'interrupt'               
INFO stopping event stream following graceful shutdownerror="<nil>" module=libcontainerd namespace=moby
INFO Daemon shutdown complete                     
INFO stopping healthcheck following graceful shutdownmodule=libcontainerd
INFO stopping event stream following graceful shutdownerror="context canceled" module=libcontainerd namespace=plugins.moby
7. 设置 Docker 服务

7.1 编辑 docker 的系统服务文件

vi /usr/lib/systemd/system/docker.service
7.2 将下面的内容复制到刚创建的docker.service文件中


Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service
Wants=network-online.target

Type=notify
ExecStart=/usr/bin/dockerd
ExecReload=/bin/kill -s HUP $MAINPID
LimitNOFILE=infinity
LimitNPROC=infinity
TimeoutStartSec=0
Delegate=yes
KillMode=process
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s

WantedBy=multi-user.target
7.3 为docker.service添加执行权限

chmod +x /usr/lib/systemd/system/docker.service
7.4 编辑daemon.json

vi /etc/docker/daemon.json
并添加以下内容:
{
"registry-mirrors": ["https://registry.docker-cn.com"],
"exec-opts": ["native.cgroupdriver=systemd"]
}
生存后,执行:systemctl daemon-reload
7.5 启动 Docker

# systemctl start docker
#
# docker ps
CONTAINER ID   IMAGE   COMMAND   CREATED   STATUS    PORTS   NAMES
#
# docker -v
Docker version 20.10.6, build 370c289
#
# docker info
Client:
Context:    default
Debug Mode: false

Server:
Containers: 0
Running: 0
Paused: 0
Stopped: 0
Images: 0
Server Version: 20.10.6
Storage Driver: overlay2
Backing Filesystem: xfs
Supports d_type: true
Native Overlay Diff: true
userxattr: false
Logging Driver: json-file
Cgroup Driver: cgroupfs
Cgroup Version: 1
Plugins:
Volume: local
Network: bridge host ipvlan macvlan null overlay
Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
Swarm: inactive
Runtimes: io.containerd.runtime.v1.linux runc io.containerd.runc.v2
Default Runtime: runc
Init Binary: docker-init
containerd version: 05f951a3781f4f2c1911b05e61c160e9c30eaa8e
runc version:
init version: de40ad0
Security Options:
seccomp
   Profile: default
Kernel Version: 4.19.90-52.22.v2207.ky10.aarch64
Operating System: Kylin Linux Advanced Server V10 (Lance)
OSType: linux
Architecture: aarch64
CPUs: 64
Total Memory: 252.8GiB
Name: localhost.localdomain
ID: JRHZ:QLCB:TIJQ:KEM4:Z56J:TFJN:WAAG:BT4T:S2IC:XVOM:VZNS:TU6U
Docker Root Dir: /var/lib/docker
Debug Mode: false
Registry: https://index.docker.io/v1/
Labels:
Experimental: false
Insecure Registries:
127.0.0.0/8
Live Restore Enabled: false
Product License: Community Engine

#
正常启动。
7.6 添加开机自动启动

systemctl enable docker
Docker 安装 参考: https://blog.csdn.net/qq_30665009/article/details/125938033
8. 安装 docker-compose

直接 GitHub 下载:docker/compose 选择自己喜好的版本,这里直接拉满,下载当前最新的版本:v2.24.0
https://img-blog.csdnimg.cn/direct/c4846d0c33a9400ea2ae8fe68122fb31.png
这里根据自己的架构,选择对应的包,下载就好了。
cp docker-compose-linux-aarch64/usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
检察版本
# docker-compose -v
Docker Compose version v2.24.0
#

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: 银河麒麟操作系统 v10 中离线安装 Docker