在ubuntu、centos、openEuler安装Docker
目录
ubuntu、centos、openEuler安装Docker
1.在 Ubuntu 上安装 Docker
1. 1 更新软件包
1. 2 安装必要的依赖
1.3 添加 Docker 的 GPG 密钥
1.4 添加 Docker 仓库
1.5 更新软件包
1.6 安装 Docker
1.7 启动并启用 Docker 服务
1.8 验证安装
1.9 运行测试容器
1.10 非 root 用户运行 Docker
2.在 CentOS 上安装 Docker
2.1 更新软件包
2.2 安装必要的依赖
2.3 添加 Docker 仓库
2.4 安装 Docker
2.5 启动并启用 Docker 服务
2.6 验证安装
2.7 运行测试容器
2.8 非 root 用户运行 Docker
3.在 CentOS 9 上安装 Docker (使用 dnf)
3.1 更新软件包
3.2 安装必要的依赖
3.3 添加 Docker 仓库
3.4 安装 Docker
3.5 启动并启用 Docker 服务
3.6 验证安装
3.7 运行测试容器
3.8 非 root 用户运行 Docker
4.在 openEuler 上安装 Docker
4.1 更新软件包
4.2 安装 Docker
4.3 启动并启用 Docker 服务
4.4 验证安装
4.5 运行测试容器
4.6 非 root 用户运行 Docker
5.配置国内镜像源(加速)
5.1 创建或编辑 /etc/docker/daemon.json 文件
5.2 重新启动 Docker 服务
6.示例:构建一个简单的 Nginx 镜像
6.1 创建项目目录
6.2 创建 Dockerfile
6.3 index.html
6.4 构建 Docker 镜像
6.5 验证镜像
6.6 运行容器
ubuntu、centos、openEuler安装Docker
1.在 Ubuntu 上安装 Docker
1. 1 更新软件包
sudo apt-get update
1. 2 安装必要的依赖
sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common
sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common
1.3 添加 Docker 的 GPG 密钥
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
# 阿里云的,上下选一个
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
1.4 添加 Docker 仓库
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"sudo add-apt-repository "deb [arch=amd64]
# 推荐使用国内仓库(阿里云)
sudo add-apt-repository "deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
1.5 更新软件包
这一步可以跳过的,也可以更新一下
sudo apt-get update
1.6 安装 Docker
sudo apt-get install -y docker-ce
1.7 启动并启用 Docker 服务
sudo systemctl start docker
sudo systemctl enable docker
1.8 验证安装
sudo docker --version
1.9 运行测试容器
sudo docker run hello-world
1.10 非 root 用户运行 Docker
sudo usermod -aG docker $USER
然后注销并重新登录以使更改生效,或者重启一下。
2.在 CentOS 上安装 Docker
2.1 更新软件包
sudo yum update -y
2.2 安装必要的依赖
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
2.3 添加 Docker 仓库
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
# 推荐使用国内仓库(阿里云)
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
2.4 安装 Docker
sudo yum install -y docker-ce docker-ce-cli containerd.io
2.5 启动并启用 Docker 服务
sudo systemctl start docker
sudo systemctl enable docker
2.6 验证安装
sudo docker --version
2.7 运行测试容器
sudo docker run hello-world
2.8 非 root 用户运行 Docker
sudo usermod -aG docker $USER
然后注销并重新登录以使更改生效。
3.在 CentOS 9 上安装 Docker (使用 dnf)
centos9中实际使用的是dnf,但是yum和他做了链接,也可以使用yum。
3.1 更新软件包
sudo dnf update -y
3.2 安装必要的依赖
sudo dnf install -y dnf-plugins-core
3.3 添加 Docker 仓库
sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
# 推荐使用国内仓库(阿里云)
sudo dnf config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
3.4 安装 Docker
sudo dnf install -y docker-ce docker-ce-cli containerd.io
3.5 启动并启用 Docker 服务
sudo systemctl start docker
sudo systemctl enable docker
3.6 验证安装
sudo docker --version
3.7 运行测试容器
sudo docker run hello-world
3.8 非 root 用户运行 Docker
sudo usermod -aG docker $USER
然后注销并重新登录以使更改生效。
4.在 openEuler 上安装 Docker
4.1 更新软件包
sudo dnf update
4.2 安装 Docker
sudo dnf install docker
4.3 启动并启用 Docker 服务
sudo systemctl start docker
sudo systemctl enable docker
4.4 验证安装
sudo docker --version
4.5 运行测试容器
sudo docker run hello-world
4.6 非 root 用户运行 Docker
sudo usermod -aG docker $USER
然后注销并重新登录以使更改生效。
5.配置国内镜像源(加速)
如果下载太慢,为了提高下载速度,可以配置 Docker 使用国内镜像源,比如阿里云镜像。以下是在 /etc/docker/daemon.json
文件中添加国内镜像源的方法:
5.1 创建或编辑 /etc/docker/daemon.json
文件
sudo vim /etc/docker/daemon.json
添加以下内容
{
"registry-mirrors": [
"https://hub-mirror.c.163.com",
"https://mirror.baidubce.com"
]
}
5.2 重新启动 Docker 服务
sudo systemctl daemon-reload
sudo systemctl restart docker
6.示例:构建一个简单的 Nginx 镜像
假设我们有一个简单的 Dockerfile,用于构建一个带有自定义 HTML 文件的 Nginx 镜像。
6.1 创建项目目录
首先,创建一个目录来存放 Dockerfile 和其他相关文件:
mkdir my-nginx
cd my-nginx
6.2 创建 Dockerfile
在项目目录中创建一个名为 Dockerfile
的文件,并添加以下内容:
# 如果没有vim,先下载一下
sudo apt install vimvim Dockerfile
添加下面内容:
# 使用官方的 Nginx 基础镜像
FROM nginx:latest# 维护者信息
LABEL maintainer="you@example.com"# 将自定义的 HTML 文件复制到 Nginx 默认的 HTML 目录
COPY index.html /usr/share/nginx/html/# 暴露端口 80
EXPOSE 80# 启动 Nginx 服务
CMD ["nginx", "-g", "daemon off;"]
6.3 index.html
在同一目录中创建一个名为 index.html
的文件,并添加一些简单的 HTML 内容:
vim index.html
<!DOCTYPE html>
<html>
<head>
<title>Welcome to My Nginx!</title>
</head>
<body>
<h1>Hello, Docker!</h1>
<p>This is a custom Nginx server.</p>
</body>
</html>
6.4 构建 Docker 镜像
在终端中运行以下命令来构建 Docker 镜像:
docker build -t my-nginx:custom .
在这个命令中:
-t my-nginx:custom
指定了镜像的名称为my-nginx
,标签为custom
。.
指定了 Dockerfile 的路径为当前目录。
6.5 验证镜像
构建完成后,可以通过以下命令验证镜像是否成功创建:
docker images
你应该会看到类似以下的输出:
6.6 运行容器
最后,可以使用以下命令运行一个基于新镜像的容器:
docker run -d -p 8080:80 my-nginx:custom
在这个命令中:
-d
后台运行容器。-p 8080:80
将主机的 8080 端口映射到容器的 80 端口。
现在,你可以在浏览器中访问 http://localhost:8080
,应该会看到你自定义的 HTML 页面。
这个示例演示了如何使用 Dockerfile 构建一个新的 Nginx 镜像,并运行一个容器来验证镜像。
相关文章:

在ubuntu、centos、openEuler安装Docker
目录 ubuntu、centos、openEuler安装Docker 1.在 Ubuntu 上安装 Docker 1. 1 更新软件包 1. 2 安装必要的依赖 1.3 添加 Docker 的 GPG 密钥 1.4 添加 Docker 仓库 1.5 更新软件包 1.6 安装 Docker 1.7 启动并启用 Docker 服务 1.8 验证安装 1.9 运行测试容器 1.10…...

公共命名空间的例子3
有这样一个句子 用x语言解释[12*3]。 在x语言中,不符合“先乘除后加减”,这个句子应该怎样解释呢? 第一步,进行词法分析,目的是识别出注释和字符串,其中可能包括任意符号,干扰编译过程。 第二步…...

【云存储】SDS软件定义存储,数据存储的类型与技术方案(块/文件/对象,Ceph、RBD等)
【云存储】SDS软件定义存储,数据存储的类型与技术方案(块/文件/对象,Ceph、RBD等) 文章目录 1、分布式存储架构(软件定义存储SDS,超融合基础架构HCI)2、存储类型(块存储,…...

第31课 Scratch入门篇:小画家(舞台上画画)
小画家(舞台上画画) 故事背景: 在舞台上选择画笔和颜色,进行画画 程序原理: 这节课我们继续练习画笔功能,通过画笔功能我们设计一个小画板,碰到哪种颜色画笔就切换成哪种颜色。 开始编程 1、绘制一大一小的黑色圆形,小的命名为画笔,大的圆形命名为black(黑色) 2、鼠…...

QT UI界面之ListView
文章目录 概述源码怎么用代码qt design 小结 概述 本来把布局文件那块写了一遍,但是看看都跟之前那篇差不多,就换了一个稍微有点难度的,也很常用的listview来写了。来看看,有什么好玩的。 源码 先看下源码,如下&…...

freeRTOS互斥量(mutex)
目录 前言 一、互斥量概述 二、互斥量函数 1.创建 2.其他函数 三、优先级反转示例 1.概念 2.代码示例 四、优先级继承 1.概念 2.代码示例 五、递归锁 1.死锁的概念 2.自我死锁 3.函数 4.递归锁代码示例 前言 在之前的信号量中,我们想要实现互斥的…...

基于GeoTools使用JavaFx进行矢量数据可视化实战
目录 前言 一、JavaFx展示原理说明 二、GeoTools的Maven依赖问题 三、引入Geotools相关的资源包 四、创建JavaFx的Canvas实例 五、JavaFx的Scene和Node的绑定 六、总结 前言 众所周知,JavaFx是Java继Swing之后的又一款用于桌面应用的开发利器。当然࿰…...

zabbix的setup无法进入第二步
注意-部署时,报错要看的日志不止一个,php日志的报错也要看的,nginx接收到请求后是转发到php-fpm的 [rootweb01-84-41 ~]# chmod -R 777 /var/lib/php/session chmod: 无法访问"/var/lib/php/session": 没有那个文件或目录 [rootweb…...

代码随想录算法训练营第四十六天 | 115. 不同的子序列、583. 两个字符串的删除操作、72. 编辑距离、编辑距离总结篇
一、115. 不同的子序列 题目链接:115. 不同的子序列 - 力扣(LeetCode) 文章讲解:代码随想录 (programmercarl.com)——115. 不同的子序列 视频讲解:动态规划之子序列,为了编辑距离做铺垫 | LeetCode&#x…...

宝塔安装nginx失败报错“检测到系统组件wget不存在,无法继续安装”
宝塔安装nginx失败报错“检测到系统组件wget不存在,无法继续安装” 问题描述解决方案 问题描述 在宝塔中安装lnmp环境时,安装nginx失败报错:检测到系统组件wget不存在,无法继续安装 如下图所示 通过检查发现系统是已经安装了wge…...

C++之运算符重载系列深入学习:从入门到精通!
为什么需要对运算符进行重载 C预定义中的运算符的操作对象只局限于基本的内置数据类型,但是对于我们自定义的类型是没有办法操作的。但是大多时候我们需要对我们定义的类型进行类似的运算,这个时候就需要我们对这么运算符进行重新定义,赋予其…...

国赛分析。。。。
山东 6散落2两元素 浙江 8散落两元素 安徽不公布 4散落2元素 120s 华南 8散落两元素 西部 8散落两元素 华北 8 2.。。。 华东 东北 路边6张两元素...

无缝融入,即刻智能[一]:Dify-LLM大模型平台,零编码集成嵌入第三方系统,42K+星标见证专属智能方案
无缝融入,即刻智能[一]:Dify-LLM大模型平台,零编码集成嵌入第三方系统,42K+星标见证专属智能方案 1.Dify 简介 1.1 功能情况 Dify,一款引领未来的开源大语言模型(LLM)应用开发平台,革新性地融合了后端即服务(Backend as a Service,BaaS)与LLMOps的精髓,为开发者铺…...

PLSQL导入导出ORACLE数据提示失败问题修改PLSQL配置
oracle中plsql导入提示无法导入问题 1.首先看下是否环境变量已经配置(具体配置看下面环境变量配置) 2.plsql数据导入中tools-->Preferences中配置如下框中的内容 3.设置 tnsnames.ora文件中看下是否设置有问题 4.PLSQL乱码问题 NLS_LANG SIMPLIFIED CHINESE_CHINA.ZHS16…...

从Shift+F6到雪花算法:IDEA开发中的那些坑与解法
在日常开发中,提升代码质量和开发效率是每个开发者追求的目标。作为 Java 开发者常用的集成开发环境,IntelliJ IDEA 提供了丰富的功能与快捷键,帮助我们更快速、更高效地完成日常工作。然而,即便是如此强大的工具,也会…...

Linux知识点总结
学习目标 常见的快捷键 Linux 是一个开源的类 Unix 操作系统,广泛应用于服务器、桌面和嵌入式系统。以下是一些重要的 Linux 知识点总结: 基础概念 文件系统:Linux 使用层次化的文件系统结构,根目录为 /,其他目录如 …...

Gradio 快速开发网页应用
Gradio 是一个开源的 Python 框架,可以快速开发页面,Gradio 主要用于 AI 模型 Demo 的开发,通过几行代码可以快速生成一个 Web Demo,由于 AI 算法工程师使用的都是 Python 语言,使用 Python 开发 Demo 会相对简单&…...

spring使用validation参数及全局异常检测
1.validation参数验证工具 1.1.validation-api技术链 validation-api是一个Java的数据校验规范,它定义了一套用于校验Java Bean的API。它是JSR 303规范的一部分,也被称为Bean Validation。validation-api提供了一系列的注解,用于在Java类的…...

学习笔记 韩顺平 零基础30天学会Java(2024.8.8)
P492 第三代日期使用 P493 第三代日期方法 P495 String翻转 作业代码见chapter12homework 对于需要异常处理的情况,可以通过这种想法得到: P495 注册处理题 P496 字符串统计 P497 String内存布局测试题 P498 常见类阶段梳理 P499 集合介绍 集合的使用并不…...

45.跳跃游戏
:双层for。复杂度n*n n class Solution {public int jump(int[] nums) {// 找到所有的条约方法,返回其中的最小次数// 从后向前,依次记录到最后的次数int n nums.length;if(n 1) return 0;// int[] temp new int[n];// temp[n-1] 0;fo…...

Golang | Leetcode Golang题解之第328题奇偶链表
题目: 题解: func oddEvenList(head *ListNode) *ListNode {if head nil {return head}evenHead : head.Nextodd : headeven : evenHeadfor even ! nil && even.Next ! nil {odd.Next even.Nextodd odd.Nexteven.Next odd.Nexteven even.N…...

【ARM】CMSIS 软件标准接口
目录 CMSIS:Cortex Microcontroller Software Interface Standard1. 概述2. CMSIS-Core2.1 概述2.2 关键组件2.3 示例代码2.4 详细解释 3. CMSIS-DSP3.1 概述3.2 关键组件3.3 示例代码3.4 详细解释 4. CMSIS-RTOS4.1 概述4.2 关键组件4.3 示例代码4.4 详细解释 5. C…...

Qt 小功能:加载等待动画——转圈圈
加载等待动画实现——转圈圈 效果图:(看封面最好) 关键要点 流畅的动画: 使用 QTimer 每 50 毫秒更新一次动画,确保动画流畅。 视觉效果: 使用 QPainter 的平滑像素转换和抗锯齿选项,提高动画…...

【Linux进程篇】进程终章:POSIX信号量线程池线程安全的单例模式自旋锁读者写者问题
W...Y的主页 😊 代码仓库分享 💕 前言:在之前的进程间通信时我们就讲到过信号量,他的本质就是一个计数器,用来描述临界资源的一个计数器。我们当时使用电影院的例子来说明信号量。电影院的座位被我们称为临界资源&a…...

MathType7.5破解版下载安装激活图文详细教程(附激活秘钥)
🌟 引言:揭秘MathType,数学编辑的瑞士军刀! 嘿,各位小伙伴,今天我要给你们安利一个我超级喜欢的数学神器——MathType!如果你跟我一样,在处理数学公式时常常感到头疼,那你…...

2-62 基于MATLAB gui 编制短波通信系统
基于MATLAB gui 编制短波通信系统,录制一段语音信号,分别通过AM SSB DSB 等调制信号,加入噪声,然后解调出来,可比较各种调制解调方式的优劣。程序已调通,可直接运行。 2-62 matlab gui - 小红书 (xiaohongs…...

windows C++-C++/WinRT 中创建组件和事件(下)
跨 ABI 的简单信号 如果无需连同事件传递任何形参或实参,则可以定义自己的简单 Windows 运行时委托类型。 以下示例展示 Thermometer 运行时类的更简易版本。 它声明名为 SignalDelegate 的委托类型,然后使用该类型来引发信号类型事件,而不是…...

C++初学者指南-5.标准库(第二部分)--二叉堆操作
C初学者指南-5.标准库(第二部分)–二叉堆操作 文章目录 C初学者指南-5.标准库(第二部分)--二叉堆操作背景什么是“堆”二叉最大堆二叉树的表示 堆操作C标准库中的堆初始化堆收缩堆增长堆 辅助操作sort_heap (Heap → Sorted Array)is_heapis_heap_until 相关内容 不熟悉 C 的标…...

在Ubuntu 16.04上安装Git的方法
前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。 简介 在现代软件开发中,一个不可或缺的工具是某种版本控制系统。版本控制系统允许您在源代码级别跟踪软件。您可以跟踪更改…...

redis内存淘汰策略-------Reservoir Sampling(水库采样)
文章目录 过期删除策略和内存淘汰策略内存淘汰策略evictionPoolEntryevictionPoolPopulate Reservoir SamplingdictGetRandomKeydictGetSomeKeysReservoir Samplingchatgpt对Reservoir Sampling的介绍 过期删除策略和内存淘汰策略 详细介绍请参考博客“redis过期删除策略和内存…...