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)服务器先查询缓存,如果命中缓存,则立即返回存储在缓存中的…...
SciencePlots——绘制论文中的图片
文章目录 安装一、风格二、1 资源 安装 # 安装最新版 pip install githttps://github.com/garrettj403/SciencePlots.git# 安装稳定版 pip install SciencePlots一、风格 简单好用的深度学习论文绘图专用工具包–Science Plot 二、 1 资源 论文绘图神器来了:一行…...

无法与IP建立连接,未能下载VSCode服务器
如题,在远程连接服务器的时候突然遇到了这个提示。 查阅了一圈,发现是VSCode版本自动更新惹的祸!!! 在VSCode的帮助->关于这里发现前几天VSCode自动更新了,我的版本号变成了1.100.3 才导致了远程连接出…...

【第二十一章 SDIO接口(SDIO)】
第二十一章 SDIO接口 目录 第二十一章 SDIO接口(SDIO) 1 SDIO 主要功能 2 SDIO 总线拓扑 3 SDIO 功能描述 3.1 SDIO 适配器 3.2 SDIOAHB 接口 4 卡功能描述 4.1 卡识别模式 4.2 卡复位 4.3 操作电压范围确认 4.4 卡识别过程 4.5 写数据块 4.6 读数据块 4.7 数据流…...
使用van-uploader 的UI组件,结合vue2如何实现图片上传组件的封装
以下是基于 vant-ui(适配 Vue2 版本 )实现截图中照片上传预览、删除功能,并封装成可复用组件的完整代码,包含样式和逻辑实现,可直接在 Vue2 项目中使用: 1. 封装的图片上传组件 ImageUploader.vue <te…...

华为OD机试-食堂供餐-二分法
import java.util.Arrays; import java.util.Scanner;public class DemoTest3 {public static void main(String[] args) {Scanner in new Scanner(System.in);// 注意 hasNext 和 hasNextLine 的区别while (in.hasNextLine()) { // 注意 while 处理多个 caseint a in.nextIn…...

涂鸦T5AI手搓语音、emoji、otto机器人从入门到实战
“🤖手搓TuyaAI语音指令 😍秒变表情包大师,让萌系Otto机器人🔥玩出智能新花样!开整!” 🤖 Otto机器人 → 直接点明主体 手搓TuyaAI语音 → 强调 自主编程/自定义 语音控制(TuyaAI…...

华为云Flexus+DeepSeek征文|DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建
华为云FlexusDeepSeek征文|DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建 前言 如今大模型其性能出色,华为云 ModelArts Studio_MaaS大模型即服务平台华为云内置了大模型,能助力我们轻松驾驭 DeepSeek-V3/R1,本文中将分享如何…...

Unity | AmplifyShaderEditor插件基础(第七集:平面波动shader)
目录 一、👋🏻前言 二、😈sinx波动的基本原理 三、😈波动起来 1.sinx节点介绍 2.vertexPosition 3.集成Vector3 a.节点Append b.连起来 4.波动起来 a.波动的原理 b.时间节点 c.sinx的处理 四、🌊波动优化…...

【笔记】WSL 中 Rust 安装与测试完整记录
#工作记录 WSL 中 Rust 安装与测试完整记录 1. 运行环境 系统:Ubuntu 24.04 LTS (WSL2)架构:x86_64 (GNU/Linux)Rust 版本:rustc 1.87.0 (2025-05-09)Cargo 版本:cargo 1.87.0 (2025-05-06) 2. 安装 Rust 2.1 使用 Rust 官方安…...

【Linux】Linux 系统默认的目录及作用说明
博主介绍:✌全网粉丝23W,CSDN博客专家、Java领域优质创作者,掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域✌ 技术范围:SpringBoot、SpringCloud、Vue、SSM、HTML、Nodejs、Python、MySQL、PostgreSQL、大数据、物…...