最新安装银河麒麟V10服务器版在线安装最新版 Docker,麒麟V10(arm64/aarch64)离线安装docker,解决docker容器无法访问宿主机网络的问题

最新安装银河麒麟V10服务器版在线安装最新版 Docker,麒麟V10(arm64/aarch64)离线安装docker,解决docker容器无法访问宿主机网络的问题.

环境
服务器版本:Kylin-Server-V10-SP3-General-Release-2212-X86_64

安装

# 配置阿里云 Centos8 镜像源,需要额外的一些依赖,而这些依赖在麒麟官方的源里面是没有的
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo
sed -i 's/mirrors.cloud.aliyuncs.com/url_tmp/g' /etc/yum.repos.d/CentOS-Base.repo && sed -i 's/mirrors.aliyun.com/mirrors.cloud.aliyuncs.com/g' /etc/yum.repos.d/CentOS-Base.repo && sed -i 's/url_tmp/mirrors.aliyun.com/g' /etc/yum.repos.d/CentOS-Base.repo
yum clean all && yum makecache
# 配置阿里云 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
# 修改 repo ,需要使用 centos 8的镜像源,若不修改无法使用。
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 makecache
# 查看 Docker 版本
yum list docker-ce --showduplicates | sort -r
# 安装最新版
yum install docker-ce -y
# 注意,因为 centos8 的源维护不及时可能有些安装包没有及时更新,所以根据实际情况安装指定的版本
eg:
yum install docker-ce-cli-1:20.10.9-3.el8 -y
yum install docker-ce-20.10.9-3.el8
# 启动和设置开机启动
systemctl start docker
systemctl enable docker

修改 Docker 存储路径

# 创建保存 Docker 存储的路径
mkdir -p /data/docker


systemctl stop docker

cat >> /etc/docker/daemon.json << EOF
{
"data-root": "/data/docker"
}
EOF
cp -rf /var/lib/docker/* /data/docker/

systemctl start docker

docker info

麒麟V10(arm64/aarch64)离线安装docker

下载docker离线包
下载地址:https://download.docker.com/linux/static/stable/

选择系统架构对应的文件目录:aarch64

我目前使用的docker版本是:docker-24.0.7.tgz

安装docker

# 解压 docker 到当前目录
tar -xvf docker-24.0.7.tgz
# 将 docker 文件移动到 /usr/bin 目录下
cp -p docker/* /usr/bin

准备 docker.service系统配置文件

vi docker.service

docker.service文件内容:

docker.service

[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service
Wants=network-online.target
[Service]
Type=notify
# the default is not to use systemd for cgroups because the delegate issues still
# exists and systemd currently does not support the cgroup feature set required
# for containers run by docker
ExecStart=/usr/bin/dockerd
ExecReload=/bin/kill -s HUP $MAINPID
# Having non-zero Limit*s causes performance problems due to accounting overhead
# in the kernel. We recommend using cgroups to do container-local accounting.
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
# Uncomment TasksMax if your systemd version supports it.
# Only systemd 226 and above support this version.
#TasksMax=infinity
TimeoutStartSec=0
# set delegate yes so that systemd does not reset the cgroups of docker containers
Delegate=yes
# kill only the docker process, not all processes in the cgroup
KillMode=process
# restart the docker process if it exits prematurely
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s
[Install]
WantedBy=multi-user.target

将 docker.service 移到 /etc/systemd/system/ 目录

cp docker.service /etc/systemd/system/
# 设置 docker.service 文件权限
chmod +x /etc/systemd/system/docker.service

启动docker

# 重新加载配置文件
systemctl daemon-reload
# 启动docker
systemctl start docker
# 设置 docker 开机自启
systemctl enable docker.service

验证安装是否成功

docker -v

国内加速
参考http://www.884358.com/docker-cmds/#guo_nei_jia_su

安装docker-compose
下载
下载地址:
https://github.com/docker/compose/releases

选择对应系统架构的离线安装包

最新安装银河麒麟V10服务器版在线安装最新版 Docker,麒麟V10(arm64/aarch64)离线安装docker,解决docker容器无法访问宿主机网络的问题_第1张图片

安装

# 将 docker-compose 文件复制到 /usr/local/bin/ 目录下,并重命名为 docker-compose
cp docker-compose-linux-aarch64 /usr/local/bin/docker-compose
# 设置 docker-compose 文件权限
chmod +x /usr/local/bin/docker-compose

验证

docker-compose -v

解决docker容器无法访问宿主机网络的问题

无论重启多少次,都是不能通外网。用docker inspect来对比其他通的docker也看不出有什么不同。

后来就新建网桥,就可以了。不过奇怪的是,后来我班网桥改回原来的地址,也是可以的。

先关闭docker引擎

service docker stop

关闭docker0的网卡

ip link set dev docker0 down

删除docker0网桥

brctl delbr docker0

重建docker0网桥

brctl addbr docker0

设置IP段

ip addr add 172.17.42.2/24 dev docker0

启动docker0网桥

ip link set dev docker0 up

重启docker引擎

service docker start

这样就可以了!

或者参考官方的实现方式,host 映射:

https://docs.docker.com/desktop/features/networking/#i-want-to-connect-from-a-container-to-a-service-on-the-host

你可能感兴趣的:(服务器,docker,ARM平台,docker,网络,容器,麒麟,v10,arm,aarch)