centos 8安装配置 yum/dnf镜像源 以及 docker相关操作
Docker简介
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux或Windows操作系统的机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。
Docker组成部分:
- 镜像(Image)
- 仓库(Repository)
- 容器(Container)
准备工作
我这里使用CentOS 8,Linux内核 4.18 ,官方说至少需要3.8及以上内核,关于CentOS 8如何安装,请移至该文章:CentOS 8虚拟机安装配置
[root@localhost ~]# uname -a
Linux localhost.localdomain 4.18.0-348.el8.x86_64 #1 SMP Tue Oct 19 15:14:17 UTC 2021 >x86_64 x86_64 x86_64 GNU/Linux
若已经安装完成,请接着往下看!
- 关闭防火墙
systemctl stop firewalld.service
- 禁用防火墙自启动
systemctl disable firewalld.service
- 查看防火墙状态
systemctl status firewalld.service
设置yum源
注意:在 2022 年1月31日,CentOS 团队从官方镜像中移除 CentOS 8的所有包。
直接使用yum下载会出现ERROR:Cannot prepare internal mirrorlist: No URLs in mirrorlist
故需要设置yum源,否则无法提供下载。
- 备份所有repo文件
rename '.repo' '.repo.bak' /etc/yum.repos.d/*.repo
- 下载最新repo文件
具体请参照:CentOS镜像
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo
- 重新创建缓存
yum clean all && yum makecache
- 安装dnf(不使用dnf跳过)
dnf是新一代的rpm软件包管理器。
# 安装dnf
yum install dnf -y
问题:如果在使用CentOS 8及其以上版本出现无法安装问题时,则执行下面两条命令(没有问题则不需要执行)
dnf --disablerepo '*' --enablerepo=extras swap centos-linux-repos >centos-stream-repos -y
dnf distro-sync
卸载历史版本
这是可以省略的步骤,主要是为了防止之前已经安装过旧版本的Docker而导致的不可控错误!
dnf remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-selinux \docker-engine-selinux \docker-engine \docker-ce
# yum remove docker \
# docker-client \
# docker-client-latest \
# docker-common \
# docker-latest \
# docker-latest-logrotate \
# docker-logrotate \
# docker-selinux \
# docker-engine-selinux \
# docker-engine \
# docker-ce
设置本地镜像源
源地址
中央仓库:yum-config-manager –add-repo http://download.docker.com/linux/centos/docker-ce.repo
阿里仓库:yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
- 安装yum工具包及Docker存储驱动的依赖包
dnf install device-mapper-persistent-data lvm2 -y
# yum install yum-utils device-mapper-persistent-data lvm2 -y
- 设置Docker镜像源
dnf config-manager --add-repo=https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
安装Docker
Docker从17.03版本之后分为CE(Community Edition: 社区版)和EE(Enterprise Edition: 企业版)。相对于社区版本,企业版本强调安全性,但需付费使用。这里我们使用社区版本即可。
- 查看已添加的Docker软件源
dnf list docker-ce
# yum list docker-ce
- 查看所有仓库中所有docker版本
# 查看所有仓库中所有docker版本,并选择特定版本安装
dnf list docker-ce --showduplicates | sort -r
# yum list docker-ce --showduplicates | sort -r
- 安装Docker
dnf install docker-ce --nobest -y
# yum install docker-ce --nobest -y# 指定版本号安装
# dnf install docker-ce-[version] --nobest -y
# yum install docker-ce-[version] --nobest -y
启动Docker
# 启动docker
systemctl start docker
# 关闭docker
systemctl stop docker
- 配置镜像加速器
具体请参操:Docker:镜像加速器
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{"registry-mirrors": ["https://uy35zvn6.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
Docker基本操作
Docker仓库:DockerHUb
- 通过 本地构建 获取镜像
docker build -t [image-name:tag] [dir]
- 通过 docker服务器 获取镜像
docker pull
- 查看镜像
docker images
- 删除镜像
docker rmi [images:tag/id]
- 推送镜像到服务器
docker push
- 镜像打包
path:打包镜像地址
images:tag:镜像名称
docker sav -o [path] [image-name:tag]
- 镜像加载
file:需要加载的文件
q:不显示日志
docker load -i -q [file]
Docker容器操作
- 运行
docker run
- 运行到停止
docker stop
- 停止到运行
docker start
- 暂停
docker pause
- 恢复
docker runpause
- 查看所有运行容器及状态
docker ps
- 进入容器执行命令
mn:需要进入的容器名
bash:linux终端交互命令
docker exec -it mn bash
- 查看容器运行日志
docker logs
- 删除指定容器
docker rm
Docker数据卷操作
COMMAND
- create 创建volume
- inspect 显示一个或多个volume信息
- ls 列出所有volume
- prune 删除未使用的volume
- rm 删除一个或多个指定的volume
docker volume[COMMAND]
自定义镜像(DockerFile)
常见指令
指令 | 说明 |
---|---|
FROM | 指定基础镜像 |
ENV | 设置环境变量 |
COPY | 拷贝本地文件到镜像指定目录 |
RUN | 执行Linux的shell命令 一般指安装过程 |
EXPOSE | 指定容器运行时的监听窗口 使用者查看 |
ENTRYPOINT | 镜像应用的启动命令 容器运行时调用 |
更多请参照:DockerFile
DockerCompose
使用compose文件(.yml)进行集群配置;
具体请参照:Compose File
- 安装DockerCompose
sudo wget -L "https://get.daocloud.io/docker/compose/releases/download/1.3.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
# github下载慢
# sudo wget -L "https://github.com/docker/compose/releases/download/1.28.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
- 授予权限
chmod +x /usr/local/bin/docker-compose
- Base自动补全命令
echo "199.232.68.133 raw.githubusercontent.com" >> /etc/hosts
sudo wget -L https://raw.githubusercontent.com/docker/compose/1.29.1/contrib/completion/bash/docker-compose > /etc/bash_completion.d/docker-compose
相关文章:
centos 8安装配置 yum/dnf镜像源 以及 docker相关操作
Docker简介 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux或Windows操作系统的机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。 Docker组成部分: 镜…...

java基础之线程池
线程池1.线程池1.1 线程状态介绍1.2 线程池-基本原理1.3 线程池-Executors默认线程池1.4 线程池-Executors创建指定上限的线程池1.5 线程池-ThreadPoolExecutor1.6 线程池-参数详解1.7 线程池-非默认任务拒绝策略2. 原子性2.1 volatile-问题2.2 volatile解决2.3 synchronized解…...

Substrate 基础 -- 教程(Tutorials)
官网 github DOC 面向未来的区块链框架 Substrate 使开发人员能够快速、轻松地构建适合任何用例的未来 证明区块链(future proof blockchains)。 Substrate 文档包括区块链构建器(blockchain builders)和parachain 项目团队的概念、过程和参考信息。…...

一个线程两次调用start()方法会出现什么情况?
第17讲 | 一个线程两次调用start()方法会出现什么情况? 今天我们来深入聊聊线程,相信大家对于线程这个概念都不陌生,它是 Java 并发的基础元素,理解、操纵、诊断线程是 Java 工程师的必修课,但是你真的掌握线程了吗&am…...
看完再拿五分,软考高项时政提分必备
时事政治题作为软考信息系统项目管理师当中的必考题,每年都让不少考生头疼,主要吧,它一不在教材里,二考的又很随意,如果不是平时积累,专门注意去看,有时候很难答得对,弄得这几分就完…...

界面开发(1) --- PyQt5环境配置
PyQt5环境配置 第一步:首先安装社区版Pycharm 下载地址:https://www.jetbrains.com/pycharm/download/#sectionwindows 第二步:安装Anaconda3,配置虚拟环境 下载地址:https://www.anaconda.com/ 第三步࿱…...

shield分析
本文仅供学习交流,只提供关键思路不会给出完整代码,严禁用于非法用途,若有侵权请联系我删除!技术交流合作请私信! 熟练打开Fiddler设置好手机代理,摆弄半天一直抓不到包,应该是小红书监测到了F…...

Javaweb增删改查之【查】
Javaweb增删改查之【查】1.前端页面2.java链接数据库——集成mybatis2.1 建立层2.2 实体层entity2.3 mapper(dao层)2.4 mybatis配置文件2.5工具层util3.后台功能3.1servlet前几天跟着b站up主学javaweb登录,突然还是觉得这几年学了c是真的挺好…...

C++ STL:迭代器 Iterator
文章目录1、迭代器的类型2、traitsiterator_traitstype_traits泛化的指针,容器与算法的桥梁。提供一种方法,按照一定顺序访问一个聚合对象中各个元素,而又不暴露该对象的内部表示。既能对容器进行遍历,又可以对外隐藏容器的底层实…...

【C++】泛型编程——模板初阶
文章目录1. 泛型编程2. 函数模板2.1 函数模板的概念2.2 函数模板的使用2.3 函数模板的原理2.4 函数模板的实例化隐式实例化显式实例化2.5 模板参数的匹配原则3. 类模板1. 泛型编程 首先我们来思考一个问题:如何实现一个通用的交换函数呢? 即我们想交换两…...

数据结构入门--时间 空间复杂度
数据结构入门 时间 空间复杂度解析 目录 一. 算法效率 二. 时间复杂度 2.1 时间复杂度的概念 2.2 大O的渐进表示法 2.3 题目练习 题目一 题目二 题目三 题目四 题目五 题目六 题目七 三. 空间复杂度 3.1 题目练习 题目一 题目二 题目三 一. 算法效率 算法效率…...

计算机操作系统第一章
操作系统引论1.1操作系统的目标和作用定义:操作系统是控制管理计算机系统的硬软件,分配调度资源的系统软件。目标:方便性,有效性(提高系统资源的利用率、提高系统的吞吐量),可扩充性,…...

ARM LDREX/STREX指令以及独占监控器详解
一、目的Linux驱动开发中有一个特别重要的知识点必须掌握,即并发、竞态以及同步。什么是并发?多个执行单元(进程、线程、中断)同时对一个共享资源的进行访问;此处的共享资源可以是外设、内存或者软件层面的全局变量静态…...
吉林大学 程序设计基础 2022级 实验复盘 2.23
本人能力有限,发出只为帮助有需要的人。 以下为实验课的复盘,内容会有大量失真,请多多包涵。 此次实验限时一个小时,时间很紧张,很多内容可能并不准确。 1.输出有规律的字母串 输入输出如下; 输入&…...

Linux系列 常用命令(目录和文件管理)vi和vim 编辑使用,(笔记)
作者简介:一名云计算网络运维人员、每天分享网络与运维的技术与干货。 座右铭:低头赶路,敬事如仪 个人主页:网络豆的主页 目录 前言 一.常用命令(目录和文件管理) 1.查看文件内容 2.统计…...

OpenCV入门(一)Python环境的搭建
OpenCV入门(一)Python环境的搭建 因为有点Python基础,并且Python是比较好入门的编程语言,所以,机器视觉后面打算在Python这个平台下进行。 Windows平台OpenCV的Python开发环境搭建 1、Python 的下载与安装 Python是…...

3.查找算法:顺序查找和二分查找
查找查找,是指在一些数据元素中,通过一定的方法找出与给定关键字相同的数据元素的过程。列表查找(线性表查找):从列表中查找指定元素输入:列表,待查找元素输出:元素下标(…...

攻不下dfs不参加比赛(七)
标题 为什么练dfs题目总结重点为什么练dfs 相信学过数据结构的朋友都知道dfs(深度优先搜索)是里面相当重要的一种搜索算法,可能直接说大家感受不到有条件的大家可以去看看一些算法比赛。这些比赛中每一届或多或少都会牵扯到dfs,可能提到dfs大家都知道但是我们为了避免眼高手…...

精确光度预测计算工具:AGi32 Crack
什么是AGi32? AGi32首先是一种用于精确光度预测的计算工具:一种技术工具,可以计算任何情况下的照度,协助灯具放置和瞄准,并验证是否符合任意数量的照明标准。 然而,要增强对光度学结果的理解,还…...

47个SQL性能优化技巧,看到就是赚到
1、先了解MySQL的执行过程 了解了MySQL的执行过程,我们才知道如何进行sql优化。 (1)客户端发送一条查询语句到服务器; (2)服务器先查询缓存,如果命中缓存,则立即返回存储在缓存中的…...
KubeSphere 容器平台高可用:环境搭建与可视化操作指南
Linux_k8s篇 欢迎来到Linux的世界,看笔记好好学多敲多打,每个人都是大神! 题目:KubeSphere 容器平台高可用:环境搭建与可视化操作指南 版本号: 1.0,0 作者: 老王要学习 日期: 2025.06.05 适用环境: Ubuntu22 文档说…...
基于算法竞赛的c++编程(28)结构体的进阶应用
结构体的嵌套与复杂数据组织 在C中,结构体可以嵌套使用,形成更复杂的数据结构。例如,可以通过嵌套结构体描述多层级数据关系: struct Address {string city;string street;int zipCode; };struct Employee {string name;int id;…...
利用ngx_stream_return_module构建简易 TCP/UDP 响应网关
一、模块概述 ngx_stream_return_module 提供了一个极简的指令: return <value>;在收到客户端连接后,立即将 <value> 写回并关闭连接。<value> 支持内嵌文本和内置变量(如 $time_iso8601、$remote_addr 等)&a…...

K8S认证|CKS题库+答案| 11. AppArmor
目录 11. AppArmor 免费获取并激活 CKA_v1.31_模拟系统 题目 开始操作: 1)、切换集群 2)、切换节点 3)、切换到 apparmor 的目录 4)、执行 apparmor 策略模块 5)、修改 pod 文件 6)、…...

PPT|230页| 制造集团企业供应链端到端的数字化解决方案:从需求到结算的全链路业务闭环构建
制造业采购供应链管理是企业运营的核心环节,供应链协同管理在供应链上下游企业之间建立紧密的合作关系,通过信息共享、资源整合、业务协同等方式,实现供应链的全面管理和优化,提高供应链的效率和透明度,降低供应链的成…...
Nginx server_name 配置说明
Nginx 是一个高性能的反向代理和负载均衡服务器,其核心配置之一是 server 块中的 server_name 指令。server_name 决定了 Nginx 如何根据客户端请求的 Host 头匹配对应的虚拟主机(Virtual Host)。 1. 简介 Nginx 使用 server_name 指令来确定…...

ElasticSearch搜索引擎之倒排索引及其底层算法
文章目录 一、搜索引擎1、什么是搜索引擎?2、搜索引擎的分类3、常用的搜索引擎4、搜索引擎的特点二、倒排索引1、简介2、为什么倒排索引不用B+树1.创建时间长,文件大。2.其次,树深,IO次数可怕。3.索引可能会失效。4.精准度差。三. 倒排索引四、算法1、Term Index的算法2、 …...
Unit 1 深度强化学习简介
Deep RL Course ——Unit 1 Introduction 从理论和实践层面深入学习深度强化学习。学会使用知名的深度强化学习库,例如 Stable Baselines3、RL Baselines3 Zoo、Sample Factory 和 CleanRL。在独特的环境中训练智能体,比如 SnowballFight、Huggy the Do…...

如何理解 IP 数据报中的 TTL?
目录 前言理解 前言 面试灵魂一问:说说对 IP 数据报中 TTL 的理解?我们都知道,IP 数据报由首部和数据两部分组成,首部又分为两部分:固定部分和可变部分,共占 20 字节,而即将讨论的 TTL 就位于首…...

蓝桥杯3498 01串的熵
问题描述 对于一个长度为 23333333的 01 串, 如果其信息熵为 11625907.5798, 且 0 出现次数比 1 少, 那么这个 01 串中 0 出现了多少次? #include<iostream> #include<cmath> using namespace std;int n 23333333;int main() {//枚举 0 出现的次数//因…...