尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
RHEL8安装docker-ce
rhel8安装docker-ceDocker解决了什么问题安装DOcker关闭防火墙和SELinux配置宿主机网卡转发加载br_netfilter内核开启网卡转发功能卸载旧版本Docker-CE(如果有)添加docker-ce的软件仓库(aliyun)docker官方软件仓库卸载podman冲突包---RHEL8及以上版本安装docker-ce开机自启动docker服务并现在启动编辑docker配置文件docker配置可选参数配置国内镜像加速源配置docker存储目录Docke配置科学网络通过daemon.json配置代理--推荐Docker官方方案--不推荐重启docker服务查看新的存储目录和加速源其他配置参数改完要重启docker服务拉取测试镜像免root运行dockerDocker解决了什么问题系统版本声明:RHEL8Docker解决了“程序在我这跑的好好的,在你那怎么就不能运行了呢!”解决了环境一致性的问题.容器就是将一套运行环境打包成一个镜像.实现开箱即用.容器不是虚拟机,与宿主机共享一个内核.安装DOcker参考文档: https://help.aliyun.com/document_detail/264695.html#section-m0l-g22-ska关闭防火墙和SELinux# 关闭防火墙和SELinuxsystemctl disable--nowfirewalld## 清空现有的所有iptables策略iptables-F# 禁用邮件服务systemctl disable--nowpostfix# 禁用selinuxsed-ris#(SELINUX).*#\1disabled#/etc/selinux/config# 立即禁用临时SElinuxsetenforce0配置宿主机网卡转发参考: https://feisky.gitbooks.io/sdn/content/linux/params.html加载br_netfilter内核br_netfilter内核模块用于在网络桥接设备上启用网络过滤功能# 加载br_netfilter内核modprobe br_netfilter# 开机自动加载netfilter网桥过滤模块catEOF|sudotee/etc/modules-load.d/netfilter.confbr_netfilter EOF# 查看模块是否加载lsmod br_netfilterls/proc/sys/net/bridge bridge-nf-call-arptables bridge-nf-filter-pppoe-tagged bridge-nf-call-ip6tables bridge-nf-filter-vlan-tagged bridge-nf-call-iptables bridge-nf-pass-vlan-input-dev开启网卡转发功能vim/etc/sysctl.d/k8s.conf# 开启ipv4转发功能net.ipv4.ip_forward1# 启用 Linux 内核对所有网络接口的 Proxy ARP 功能net.ipv4.conf.all.proxy_arp1# 在ip6tables链中过滤IPv6包net.bridge.bridge-nf-call-ip6tables1# 在iptables链中过滤IPv4包net.bridge.bridge-nf-call-iptables1# netfilter防火墙内核模块最大跟踪连接数net.netfilter.nf_conntrack_max2310720# 禁用用swapvm.swappiness0# 关闭IPV6net.ipv6.conf.all.disable_ipv61net.ipv6.conf.default.disable_ipv61net.ipv6.conf.lo.disable_ipv61生效sysctl配置# 使内核配置生效sysctl-p卸载旧版本Docker-CE(如果有)https://docs.docker.com/engine/install/centos/# 卸载旧版本Docker-CEsudodnf-yremovedocker\docker-client\docker-client-latest\docker-common\docker-latest\docker-latest-logrotate\docker-logrotate\docker-engine\podman\runc# 新版本卸载dnf-yautoremove docker-ce docker-scan-plugin docker-compose-plugin docker-ce-cli docker-buildx-plugin# 查看卸载完没有rpm-qa|grepdocker添加docker-ce的软件仓库(aliyun)# 安装dnf-utilsdnfinstall-ydnf-utils# docker官方源dnf-config-manager\--add-repo\https://download.docker.com/linux/centos/docker-ce.repo# 添加docker-ce的软件仓库(国内源)dnf config-manager --add-repohttps://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo# 查看repolist中docker-ce仓库是否添加成功dnf repolistdocker官方软件仓库官方文档https://docs.docker.com/engine/install/rhel/# 安装dnf-plugins-corednf-yinstalldnf-plugins-core# 添加docker安装源dnf config-manager --add-repo https://download.docker.com/linux/rhel/docker-ce.repo卸载podman冲突包—RHEL8及以上版本# 卸载podman冲突包dnf erasepodmanbuildah-y#方法2: 安装时使用--allowerasing参数自动替换冲突包dnf-yinstalldocker-ce--allowerasing安装docker-ce# 安装docker-cednfinstall-ydocker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin开机自启动docker服务并现在启动# 开机自启动并现在启动docker服务systemctlenable--nowdocker# 查看docker版本docker--version编辑docker配置文件# 编辑docker配置文件vim/etc/docker/daemon.jsondocker配置可选参数docker配置文件/etc/docker/daemon.json参考: https://v1-22.docs.kubernetes.io/zh/docs/setup/production-environment/container-runtimes参数解释参考“experimental”: true开启docker实验功能“features”: {“buildkit”: true}启用BuildKit“exec-opts”: [“native.cgroupdriversystemd”]docker默认使用Cgroup Driver为cgroupfs,K8S推荐使用systemd来代替cgroupfs“data-root”: “/data/docker”将docker的默认存储路径由/var/lib/docker设为/data/docker“storage-driver”: “overlay2”,配置docker存储驱动,但需要Linux内核4.0以上“storage-opts”: [“overlay2.override_kernel_checktrue”]当主机内核版本较低如低于 4.0,强制启用 Overlay2 存储驱动‌并跳过对内核版本的兼容性检查“registry-mirrors”: [“https://isdp30x2.mirror.aliyuncs.com”]配置国内docker源配置国内镜像加速源docker的默认镜像源在美国,国内下载会很慢,可以修改为国内的镜像源地址.配置内容如下/etc/docker/daemon.json{registry-mirrors:[https://isdp30x2.mirror.aliyuncs.com]}配置docker存储目录有些服务器分区的var目录不是独立的分区.而是和/分区共用的.而docker默认的存储路径是在/var/lib/docker,这就很容易导致将/分区磁盘空间占满.查看docker的默认存储目录# 获取有关Docker守护程序Docker Daemon的详细信息dockerinfo# 默认目录是:## Docker Root Dir: /var/lib/docker修改docker主配置文件json格式注意格式# 创建/etc/docker目录(如果没有)mkdir-p/etc/docker# 写入配置信息vim/etc/docker/daemon.json配置如下{data-root:/data/docker,registry-mirrors:[https://isdp30x2.mirror.aliyuncs.com]}Docke配置科学网络参考https://www.cnblogs.com/Chary/p/18096678通过daemon.json配置代理–推荐在/etc/docker/daemon.json中增加代理配置{proxies:{http-proxy:http://user:passworddomain:port,https-proxy:http://user:passworddomain:port,no-proxy:registry.domain}}检查配置是否生效# 检查配置是否生效dockerinfo|grepProxyDocker官方方案–不推荐systemd也会从/etc/systemd/system/docker.service.d和/lib/systemd/system/docker.service.d文件夹下读取配置,创建docker.service.d目录。sudo mkdir -p /etc/systemd/system/docker.service.d编辑文件vim /etc/systemd/system/docker.service.d/http-proxy.conf[Service]EnvironmentHTTP_PROXYhttp://proxy.example.com:80EnvironmentHTTPS_PROXYhttps://proxy.example.com:443# 绕过科学网络 直连EnvironmentNO_PROXYyour-registry.com,10.10.10.10,*.example.com重启docker服务# 重载服务(如果出错就执行)systemctl daemon-reload# 重启docker服务systemctl restartdocker查看新的存储目录和加速源dockerinfo# 默认目录是:## Docker Root Dir: /data/docker其他配置参数# 创建/etc/docker目录sudomkdir-p/etc/docker# 添加配置## 官方建议使用overlay2sudotee/etc/docker/daemon.json-EOF { experimental: true, registry-mirrors: [https://82m9ar63.mirror.aliyuncs.com], exec-opts: [native.cgroupdriversystemd], log-driver: json-file, log-opts: { max-size: 100m }, storage-driver: overlay2 } EOF改完要重启docker服务# 重载服务(如果出错就执行)sudosystemctl daemon-reload# 重启docker服务sudosystemctl restartdocker拉取测试镜像[rhel8 root ~]# docker pull hello-worldUsing default tag: latest latest: Pulling from library/hello-world 2db29710123e: Pull complete Digest: sha256:37a0b92b08d4919615c3ee023f7ddb068d12b8387475d64c622ac30f45c29c51 Status: Downloaded newer imageforhello-world:latest docker.io/library/hello-world:latest免root运行docker# 将当前(普通)用户添加到docker组sudousermod-aGdocker$USER## 或# 将当前(普通)用户添加到docker组sudogpasswd-a$USERdocker# 测试普通用户是否可以执行docker## 登入dockre组newgrpdocker## 执行docker命令启动一个容器dockerrun hello-world## 删除容器dockerrun--rmhello-world
RELATED

相关推荐

【刘二老师】pytorch深度学习笔记【09多分类问题】

【刘二老师】pytorch深度学习笔记【09多分类问题】

【刘二老师】pytorch深度学习笔记【09多分类问题】 一、概念 多分类问题,会用到 softmax 分类器。十个输出之间要互相抑制,要有竞争性,输出的本质是个分布。 要求输出是个分布的条件:(1)每一个输出值大于零…

📅 2026/9/15 14:48:45
RISC-V IDE MounRiver Studio开发实战:TWEN32V RGB

RISC-V IDE MounRiver Studio开发实战:TWEN32V RGB

RISC-V IDE MounRiver Studio开发实战:TWEN32V RGB软件平台 Mounriver Studio,硬件平台TWENCH32V开发板。1、WS2812RGB RGB色彩模式是工业界的一种颜色标准,是通过对红、绿(G)、蓝(B)三个颜色通道的变化以及它们相互之间的叠加来得到各式各样…

📅 2026/9/15 13:09:12
将本地代码上传到gitee仓库

将本地代码上传到gitee仓库

在gitee中创建好项目,注意,不要选任何模板,不然有文件不再本地不太好处理1、选中项目文件夹;右键 -> Git Bash Here2、git init 初始化git3、git remote add origin 远程库地址4、git pull origin master 将码云上的仓库pull到…

📅 2026/8/24 9:58:43
MORE NEWS

更多资讯

📰

JSP+MySQL图书购物系统源码解析:MVC分层与部署避坑指南

简介:这是一套面向高校计算机相关专业学生的JavaWeb课程设计期末大作业资源,主题为基于JSP(MVC模式)与MySQL实现的网上图书购物系统,适合正在准备课程设计、期末大作业或需要JSP实战练手的新手参考。压缩包共75个文件&…

📰

智能体工程化实战:从Demo到业务级落地的完整路径

1. 从这期周报里我看到了什么:智能体不再只是演示这周的 GitHub Trending 榜单我翻来覆去看了好几遍,最大的感受就一句话:智能体项目正在集体从“能跑起来”往“能交付”的方向转。前两年大家关注的是哪个框架又出了新概念、哪个 Demo 能自动…

📰

自治系统与元进化闭环的工程化落地方法:从概念到可运行架构

这些年我参与过的“自治系统”项目,十有八九一开始都是这样:会议室白板上画着一个漂亮的闭环,感知、决策、执行、反馈,箭头绕一圈,旁边写着“元进化闭环”,听着特别高级。可三个月后再看,那圈箭…

📰

Jev模型接入Codex完整指南:从密钥申请到多文件重构实测

最近几天,不论你是刷技术社区还是看推荐流,应该都躲不开一个词:Jev。我最初以为又是某个营销号造出来的概念,直到身边几个做后端的朋友陆续开始聊“Jev密钥”“Jev在Codex里怎么配”,才意识到这东西的热度是实打实的。…

📰

Agent记忆海关:用AST扫描与双池隔离根治记忆污染

做 Agent 项目最怕什么?不是模型不够聪明,不是工具不够多,而是它记住了一堆不该记的东西,然后在某个关键时刻一本正经地拿错误信息去推理。我最近用 Python 3.14 重新搓了一套 Agent 记忆管理模块,代号"记忆海关&…

📰

JavaWeb问卷调查系统全解析:从部署到改造的实战指南

简介:这是一份基于JavaWeb的问卷调查系统完整源码与数据库压缩包,面向正在准备毕业设计、课程设计或期末大作业的Java学习者,也适合需要快速搭建在线问卷模块的开发者。包内包含完整的后端业务逻辑、前端交互页面以及数据库初始化脚本&#x…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬