当前位置: 首页 > java >正文

安装docker

安装docker

一、关闭防火墙和SELinux

1.1systemctl stop firewalld

1.2setenfoce 0

二、配置内核转发以及网桥过滤

2.1vi /etc/sysctl.d/k8s.conf

2.2sysctl -p /etc/sysctl.d/k8s.conf :让文件生效

2.3modprobe br_netfilter:加载模块

若未生效成功 则还需加载下列模块

1. 加载`br_netfilter`内核模块:

执行以下命令加载`br_netfilter`内核模块:

sudo modprobe br_netfilter

该命令会将`br_netfilter`模块加载到内核中,加载成功后,相关的`proc`文件通常就会出现。

2. 设置开机自动加载模块:

为确保系统重启后`br_netfilter`模块依然能正常加载,可以创建一个配置文件让其自动加载。在`/etc/modules-load.d/`目录下创建一个新文件,例如`br_netfilter.conf`:

sudo touch /etc/modules-load.d/br_netfilter.conf

sudo vi /etc/modules-load.d/br_netfilter.conf

在打开的文件中添加一行内容:

br_netfilter

保存并退出文件。这样系统下次启动时就会自动加载`br_netfilter`模块。

sudo sysctl -p /etc/sysctl.d/k8s.conf

三、启动ipvs:

3.1vi /etc/sysconfig/modules/ipvs.modules

3.2chmod +x /etc/sysconfig/modules/ipvs.modules

3.3bash /etc/sysconfig/modules/ipvs.modules

四、关闭swap分区

临时关闭:swapoff  -a

永久关闭:sed -i 's/.*swap.*/#&/' /etc/fstab

五。安装docker

5.1cd /etc/yum.repos.d/

5.2wget  https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

注释:openEuler 系统在跟换源后需要将/etc/yum.repos.d/kubernetes.repo 中的$release 跟换成 8

打开docker.repo文件 :% s/$release/8/

5.3yum makecache

5.4yum list docker-ce.x86_64 --showduplicates | sort -r

5.5yum install docker-ce

# 下载 container-selinux 包

https://download.docker.com/linux/centos/7/x86_64/stable/Packages/

openEuler安装epel源

问题描述

yum -y install epel-release

No match for argument: epel-release

Error: Unable to find a match: epel-release

rpm -ivh epel-release-9-5.el9.noarch.rpm

error: Failed dependencies:

redhat-release >= 9 is needed by epel-release-9-5.el9.noarch

解决方案:

vi /etc/yum.repos.d/epel.repo

[epel]

name=epel

baseurl=https://repo.huaweicloud.com/epel/7/x86_64/

enabled=1

gpgcheck=0

priority=1

yum clean all

yum makecache

yum repolist enabled

在 OpenEuler 22.03 SP4 上下载 Docker 可以参考以下步骤:


 

  1. 更新系统:确保系统是最新的,执行命令sudo dnf update -y。
  2. 安装依赖包:安装一些必要的依赖包,执行命令sudo dnf install -y dnf-utils device-mapper-persistent-data lvm2。
  3. 添加 Docker 官方仓库:为确保安装的是官方版本的 Docker,添加官方仓库,执行命令sudo dnf config - manager --add - repo = https://download.docker.com/linux/centos/docker - ce.repo。
  4. 安装 Docker:执行命令sudo dnf install -y docker - ce docker - ce - cli containerd.io。
  5. 启动并启用 Docker 服务:安装完成后,启动 Docker 服务并设置为开机自启动,执行命令sudo systemctl start docker和sudo systemctl enable docker。
  6. 验证 Docker 安装:执行命令sudo docker --version,查看 Docker 版本,确保 Docker 已经正确安装并运行。
  7. 为当前用户添加 Docker 权限:默认情况下,只有 root 用户和 docker 组的用户才能运行 Docker 命令。可以将当前用户添加到 docker 组,这样就不需要每次都使用 sudo,执行命令sudo usermod -aG docker $USER。
  8. 测试 Docker:运行一个简单的 Docker 容器来验证一切是否正常,执行命令docker run hello - world。

另外,如果是离线环境安装,可以参考以下步骤6:


 

  1. 下载 Docker 二进制离线包:从Docker 官方网站下载适合系统的版本,如docker-27.0.3.tgz,使用命令wget https://download.docker.com/linux/static/stable/x86_64/docker-27.0.3.tgz。
  2. 解压文件:将下载好的 Docker 二进制安装包拷贝到目标系统上,然后使用tar命令解压缩,执行命令tar -zxvf docker-27.0.3.tgz。
  3. 复制文件到指定目录:将解压后的文件移动到系统的标准可执行文件目录中,执行命令cp docker/* /usr/bin/。
  4. 创建 Docker 服务文件:使用systemd来管理 Docker 服务,创建一个名为docker.service的systemd服务文件,位于/usr/lib/systemd/system/目录下,内容如下:

[Unit]

Description=Docker Application Container Engine

Documentation=https://docs.docker.com

After=network-online.target firewalld.service

Wants=network-online.target

[Service]

Type=notify

ExecStart=/usr/bin/dockerd

ExecReload=/bin/kill -s HUP $MAINPID

LimitNOFILE=infinity

LimitNPROC=infinity

LimitCORE=infinity

TimeoutStartSec=0

Delegate=yes

KillMode=process

Restart=on-failure

StartLimitBurst=3

StartLimitInterval=60s

[Install]

WantedBy=multi-user.target
 

  1. 启动并启用 Docker 服务:重新加载systemd的配置,执行命令sudo systemctl daemon-reload。启动 Docker 服务,执行命令systemctl start docker。检查 Docker 服务状态,确保其正常运行,执行命令systemctl status docker。设置 Docker 服务开机自启动,执行命令systemctl enable docker。

 虚拟机ping不通外网

(1)进入网络配置文件

vi /etc/sysconfig/network-scripts/ifcfg-ens33

(2)修改ip地址与默认网关,一定要按照自己的情况修改(没懂的再看一遍第一步),UUID与MAC地址的部分我删掉了(这两个不写好像也会自己生成的,但如果你写了,但是和你的虚拟机不对应的话就会有问题,比如你复制别人的虚拟机,结果没改,就会出错,所以我选择不写)

TYPE=Ethernet

PROXY_METHOD=none

BROWSER_ONLY=no

BOOTPROTO=static

DEFROUTE=yes

IPV4_FAILURE_FATAL=no

NAME=ens33

DEVICE=ens33

ONBOOT=yes

IPADDR=172.20.10.16  # 自定义虚拟机的ip地址,必须与主机在同一网段

NETMASK=255.255.255.0  #设置子网掩码,跟宿主一样

GATEWAY=172.20.10.1  #默认网关,跟宿主一样  

DNS1=8.8.8.8   #DNS,跟宿主一样

DNS2=114.114.114.114

(3)保存配置后重启网络,这样配置才能生效

systemctl restart network.service

(4)关闭防火墙(我这里是让它永久性关闭)

systemctl disable firewalld.service

(5)一般这种时候就可以ping百度了,如果没有,好的那恭喜你,继续看第二部分吧

二、坑点排查:

(1)修改虚拟机网络配置部分:

打开虚拟网络编辑器:

 确定VMnet0是否为桥接模式,将桥接模式设定为指定的连接,这里是Intel(R) Wi-Fi 6 AX201 160MHz,应用后关闭。然后再来,编辑虚拟机设置(需要先将虚拟机关机)

      到这里,虚拟机的配置部分就结束了

(2)如果你复制过别人的虚拟机,那么请将/etc/sysconfig/network-scripts/ifcfg-ens33文件中的UUID和MAC地址删掉,因为这个是每个虚拟机都是唯一对应的,如果不对应那就会出错。

  (3)检查虚拟机ip地址是否与主机在同一网段,网关是否相同。

http://www.xdnf.cn/news/4944.html

相关文章:

  • 【网络编程】四、守护进程实现 前后台作业 会话与进程组
  • ChatTempMail - AI驱动的免费临时邮箱服务
  • 线程中常用的方法
  • PX4开始之旅(二)通过自定义 MAVLink 消息与 QGroundControl (QGC) 通信
  • 开源数字人框架 AWESOME - DIGITAL - HUMAN:技术革新与行业标杆价值剖析
  • AWS IoT Core与MSK集成实战:打造高可靠实时IoT数据管道
  • 探索表访问方法功能:顺序扫描分析
  • 复合机器人案例启示:富唯智能如何以模块化创新引领工业自动化新标杆
  • Oracle版本、补丁及升级(12)——版本体系
  • [C#] async和await(腾讯元宝)
  • 从逻辑学视角理解统计学在数据挖掘中的作用
  • 数据结构-堆
  • C++中static关键字详解:不同情况下的使用方式
  • 谷云科技iPaaS发布 MCP Server加速业务系统API 跨入 MCP 时代
  • JAVA将一个同步方法改为异步执行
  • CAN转ModbusTCP网关:破解电池生产线设备协议壁垒,实现全链路智能互联
  • 单调栈所有模版类型(4)
  • 为特定领域微调嵌入模型:打造专属的自然语言处理利器
  • 钉钉打卡教程
  • Go Modules 的基本使用
  • 什么是直播美颜SDK?跨平台安卓、iOS美颜SDK开发实战详解
  • 排序算法-希尔排序
  • 操作系统面试问题(4)
  • 不拆机查看电脑硬盘型号的常用方法
  • JVM之jcmd命令详解
  • 5月9号.
  • 如何删除豆包本地大模型
  • 《时序数据库全球格局:国产与国外主流方案的对比分析》
  • 23种设计模式-行为型模式之模板方法模式(Java版本)
  • 【NextPilot日志移植】logged_topics.cpp解析