统信UOS1060a安装宝塔面板开启docker-ce服务

2023年11月16日 811点热度 3人点赞 0条评论

国产统信UOS操作系统凭借免费授权,成为centos停更后的一个热门选项,但是由于UOS的生态还不够完善,一些在centos上已经玩出花的技术,在UOS上就可能碰壁,今天和大家分享的统信UOS1060a安装宝塔面板开启docker-ce服务这个需求就非常棘手。废话不多说了,下面开干。

第一步:国产统信UOS操作系统安装。

这里我们选择的是当前最新的1060a,也就是龙蜥路线。系统安装使用了ventoy制作的U盘工具,安装过程中需要注意一点,授权协议中一定要提前选择免费授权,因为默认是商业授权,等系统安装完毕就不好改了。

第二步:安装宝塔面板。

这里我们选择那个“万能安装脚本”。

第三步:安装docker服务。

这里是本文重点,安装方式为二进制方式。在线安装脚本目前都不可信,踩过的坑包括:统信默认的yum源会让你安装podman,据说是类似docker的容器,不知道怎么用,宝塔面板也管理不了;使用docker官方的以及阿里、清华的yum源会报错,猜想原因是它们不知道UOS-server V20到底是啥。最后能找到的方法,是下载二进制包离线安装。二进制包下载地址:https://download.docker.com/linux/static/stable/x86_64/

这里我选择的暗装版本是20.10.9,其他版本自行测试。按照以下步骤进行安装:

#解压
tar xf docker-20.10.9.tgz

#拷贝二进制文件
cp docker/* /usr/bin/

#创建containerd的service文件,并且启动

cat >/etc/systemd/system/containerd.service <<EOF
[Unit]
Description=containerd container runtime
Documentation=https://containerd.io
After=network.target local-fs.target

[Service]
ExecStartPre=-/sbin/modprobe overlay
ExecStart=/usr/bin/containerd
Type=notify
Delegate=yes
KillMode=process
Restart=always
RestartSec=5
LimitNPROC=infinity
LimitCORE=infinity
LimitNOFILE=1048576
TasksMax=infinity
OOMScoreAdjust=-999

[Install]
WantedBy=multi-user.target
EOF

 

#启动containerd服务
systemctl enable --now containerd.service

#准备docker的service文件

cat > /etc/systemd/system/docker.service <<EOF
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service containerd.service
Wants=network-online.target
Requires=docker.socket containerd.service

[Service]
Type=notify
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
ExecReload=/bin/kill -s HUP $MAINPID
TimeoutSec=0
RestartSec=2
Restart=always
StartLimitBurst=3
StartLimitInterval=60s
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
TasksMax=infinity
Delegate=yes
KillMode=process
OOMScoreAdjust=-500

[Install]
WantedBy=multi-user.target
EOF
#准备docker的socket文件
cat > /etc/systemd/system/docker.socket <<EOF
[Unit]
Description=Docker Socket for the API

[Socket]
ListenStream=/var/run/docker.sock
SocketMode=0660
SocketUser=root
SocketGroup=docker

[Install]
WantedBy=sockets.target
EOF

 

#创建docker组
groupadd docker

#启动docker
systemctl enable --now docker.socket && systemctl enable --now docker.service

#验证
docker info

#创建docker配置文件

cat >/etc/docker/daemon.json <<EOF
{
"exec-opts": ["native.cgroupdriver=systemd"],
"registry-mirrors": [
"https://docker.mirrors.ustc.edu.cn",
"http://hub-mirror.c.163.com"
],
"max-concurrent-downloads": 10,
"log-driver": "json-file",
"log-level": "warn",
"log-opts": {
"max-size": "10m",
"max-file": "3"
},
"data-root": "/var/lib/docker"
}
EOF

#重启docker服务

systemctl restart docker

第四步:安装docker compose工具。

完成以上步骤之后,docker服务已经在UOS系统下运行了,但是,宝塔面板的docker管理界面还不能直接管理,仍然提示安装docker或docker-ce,现在我们要安装docker Compose:

yum install docker-compose-plugin

# 安装完成后查看版本号
docker compose version

至此,宝塔docker管理界面就可以直接管理docker容器了。拿出你珍藏的compose模板开动吧!

叶子

喵咪的样子,小白兔的心……