BC-Linux8.6上面离线手动安装Docker引擎

目标

在BC-Linux上面手动安装Docker引擎。

步骤

查看防火墙状态

bash 复制代码
[root@localhost x86_64]# sudo systemctl status firewalld.service 
● firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
   Active: active (running) since Sat 2018-06-23 11:47:32 CST; 37s ago
     Docs: man:firewalld(1)
 Main PID: 34278 (firewalld)
    Tasks: 2 (limit: 203405)
   Memory: 26.0M
   CGroup: /system.slice/firewalld.service
           └─34278 /usr/libexec/platform-python -s /usr/sbin/firewalld --nofork --nopid

Jun 23 11:47:32 localhost.localdomain systemd[1]: Starting firewalld - dynamic firewall daemon...
Jun 23 11:47:32 localhost.localdomain systemd[1]: Started firewalld - dynamic firewall daemon.
[root@localhost x86_64]# sudo firewall-cmd --list-all
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: enp1s0
  sources: 
  services: cockpit dhcpv6-client ssh
  ports: 
  protocols: 
  forward: no
  masquerade: no
  forward-ports: 
  source-ports: 
  icmp-blocks: 
  rich rules:

卸载已有docker

bash 复制代码
sudo dnf remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine \
                  podman \
                  runc

检查服务器cpu架构

bash 复制代码
[root@localhost ~]# arch
x86_64

检查Linux发行版

bash 复制代码
[root@localhost ~]# cat /etc/*release
BigCloud Enterprise Linux release 8.6 (Core) 
BigCloud Enterprise Linux release 8.6 (Core) 
NAME="BigCloud Enterprise Linux"
VERSION="8.6 (Core)"
ID="bclinux"
ID_LIKE="rhel fedora"
VERSION_ID="8.6"
PLATFORM_ID="platform:an8"
PRETTY_NAME="BigCloud Enterprise Linux 8.6 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:bclinux:bclinux:8"
HOME_URL="https://mirrors.bclinux.org/"
BUG_REPORT_URL="https://bugs.bclinux.org/"

BCLINUX_BUGZILLA_PRODUCT="BigCloud Enterprise Linux 8 (Core)"
BCLINUX_BUGZILLA_PRODUCT_VERSION=8.6
BCLINUX_SUPPORT_PRODUCT="BigCloud Enterprise Linux 8 (Core)"
BCLINUX_SUPPORT_PRODUCT_VERSION=8.6

BigCloud Enterprise Linux release 8.6 (Core)

下载docker引擎安装包

https://download.docker.com/linux/rhel/在这个地址,选择适合的docker离线安装包。

再结合上面的信息,我们直接选择使用如下链接中的安装包:
https://download.docker.com/linux/rhel/8/x86_64/stable/Packages/

下载的离线包如下:

  • containerd.io-1.7.23-3.1.el8.x86_64.rpm
  • docker-buildx-plugin-0.17.1-1.el8.x86_64.rpm
  • docker-ce-27.3.1-1.el8.x86_64.rpm
  • docker-ce-cli-27.3.1-1.el8.x86_64.rpm
  • docker-ce-rootless-extras-27.3.1-1.el8.x86_64.rpm
  • docker-compose-plugin-2.29.7-1.el8.x86_64.rpm
    然后上传上述文件。

安装离线docker包

bash 复制代码
sudo dnf install ./containerd.io-1.7.23-3.1.el8.x86_64.rpm ./docker-ce-27.3.1-1.el8.x86_64.rpm ./docker-ce-cli-27.3.1-1.el8.x86_64.rpm ./docker-buildx-plugin-0.17.1-1.el8.x86_64.rpm ./docker-compose-plugin-2.29.7-1.el8.x86_64.rpm ./docker-ce-rootless-extras-27.3.1-1.el8.x86_64.rpm

尝试启动

尝试启动docker和设置开机自启动,如下命令:

bash 复制代码
# 设置自启动
sudo systemctl enable --now docker
sudo systemctl enable containerd

测试

bash 复制代码
sudo docker run hello-world

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/

到这里没有报错,就说明docker安装成功。

本来,到这里docker的安装,就应该结束了的,但是,我们现在这个docker需要使用非root账号进行运行。接下来在进一步,设置一下非root用户运行docker配置。

配置非root用户运行Docker

bash 复制代码
# 新建docker用户,并添加到docker用户组
sudo useradd -m -s /bin/bash docker -g docker
# 重新激活用户组设置
newgrp docker
# 设置docker用户密码
sudo passwd docker
# 设置完密码后远程登录docker用户即可
ssh docker@192.168.1.10
# 登录成功后,再次测试docker运行情况:
[docker@localhost ~]$ docker run hello-world

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/

到这里docker非root用户管理docker配置就设置完成了。由于给的机器磁盘有限,我们需要再进一步,设置docker滚动日志。

配置Docker滚动日志

bash 复制代码
# 新建文件
sudo vim /etc/docker/daemon.json

内容如下:

bash 复制代码
{
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "700m",
    "max-file": "3"
  }
}

保持该文件后,重启docker:

bash 复制代码
sudo systemctl restart docker

到这里,手动安装docker就告一个段落了。

参考

相关推荐
Jul1en_7 分钟前
【Redis】Docker 部署集群补充说明
redis·docker·eureka
2301_789015629 分钟前
Lnux权限
linux·开发语言·c++·权限
楚枫默寒8 小时前
Linux 编辑文件后自动添加修改日期
linux·运维·bash
苦青藤8 小时前
从零搭建 WSUS 隔离网络:完整实战指南(内网离线补丁分发)
运维·windows·microsoft
2601_9611940210 小时前
27考研刘晓艳单词pdf
linux·sql·ubuntu·华为·pdf·.net
Irene199110 小时前
Win11 自动更新导致 Docker Desktop 无法正常启动,Oracle SQL Developer 启动时报错
docker·更新
2023自学中12 小时前
imx6ull 开发板 推流ov5640数据,虚拟机用 ffplay 拉流播放
linux·音视频·嵌入式·开发板
shandianchengzi12 小时前
【记录】Ghidra|Ubuntu 26.04 下 Ghidra 界面缩放完整指南
linux·ubuntu·逆向·ghidra
天天进步201512 小时前
Python全栈项目--Python自动化运维工具开发
运维·python·自动化
Soari12 小时前
Ubuntu 根分区文件系统损坏,系统启动时自动检查失败
linux·运维·ubuntu