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 运行容器


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 vim

vim 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 镜像,并运行一个容器来验证镜像。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/51514.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

多节点网络流量对比分析在业务性能分析中的应用

在现代企业网络环境中&#xff0c;网络流量分析已成为确保业务连续性和优化性能的关键工具。特别是多节点网络流量对比分析&#xff0c;通过对比不同节点间的流量&#xff0c;能有效发现潜在问题&#xff0c;提高网络运维效率。本文将探讨多节点网络流量对比分析在业务性能分析…

【数据结构】哈希表二叉搜索树详解

&#x1f48e; 欢迎大家互三&#xff1a;2的n次方_ &#x1f48e;所属专栏&#xff1a;数据结构与算法学习 &#x1f341;1. 二叉搜索树 二叉搜索树也称为二叉查找树或二叉排序树&#xff0c;是一种特殊的二叉树结构&#xff0c;它的特点是&#xff1a; 1. 若左树不为空&am…

顺序表的代码实现

顺序表的代码实现 1.认识什么是顺序表1.1顺序表的优缺点 2.实现顺序表代码准备3.顺序表的代码实现3.1 顺序表结构体的定义3.2 顺序表的初始化3.3 顺序表的销毁3.4 顺序表的输出打印3.5顺序表的扩容3.6 顺序表的头部插入(头插)3.7 顺序表的头部删除(头删)3.8 顺序表的尾部插入(尾…

2种常用的取消word文档”打开密码“方法

在日常工作中&#xff0c;我们有时会遇到需要取消Word文档“打开密码”的情况。无论是因为忘记密码&#xff0c;还是出于文档共享的需要&#xff0c;掌握几种有效的取消密码方法都显得尤为重要。以下是2种常用的方法来取消Word文档的“打开密码”。 方法一&#xff1a;文件另存…

二叉树--堆(上卷)

二叉树–堆&#xff08;上卷&#xff09; 树 树的概念与结构 树是⼀种⾮线性的数据结构&#xff0c;它是由 n&#xff08;n>0&#xff09; 个有限结点组成⼀个具有层次关系的集合。把它叫做 树是因为它看起来像⼀棵倒挂的树&#xff0c;也就是说它是根朝上&#xff0c;⽽…

智慧医院信息系统思维导图

智慧医院信息系统 "思维导图智慧医院信息系统, 用一张图解析智慧医疗信息系统 本文转载&#xff1a;有了这个智慧医院信息系统思维导图&#xff0c;没人不明医疗信息化

是时候学习Grid布局了

一、序言 先说什么&#xff1f;当然先说大家最关心的兼容性了 CanIUse 嗯&#xff0c;对于非要兼容IE的开发者&#xff0c;我建议&#xff0c;量力而行&#xff01;兼容性还是不如Flex 当然&#xff0c;如果你flex够熟悉了&#xff0c;但却被一些布局有时候难倒&#xff0c;我…

学习react-登录状态验证

1.创建三个页面LoginPage, HomePage,NotFoundPage用于Router 创建LoginPage.tsx用于做登录页面 // LoginPage.tsx const LoginPage (props:LoginProp) > {const navigate useNavigate();return( <h1 onClick{ ()>{navigate("/");}}>Hello Login, {pr…

昇思25天学习打卡营第1天 | 快速入门教程

昇思大模型平台&#xff0c;就像是AI学习者和开发者的超级基地&#xff0c;这里不仅提供丰富的项目、模型和大模型体验&#xff0c;还有一大堆经典数据集任你挑。 AI学习有时候就像找不到高质量数据集的捉迷藏游戏&#xff0c;而且本地跑大数据集训练模型简直是个折磨&#xf…

JQuery简单实现ul li点击菜单项被选中的菜单项保持高亮状态(导航ul li点击切换样式)

效果&#xff1a; JS&#xff1a; $(function () {//遍历list&#xff08;一般为ul li&#xff09;$("#menu a").each(function () {//给当前项添加点击事件&#xff08;点击后切换样式&#xff09;$(this).bind(click,function () {// 移除其他所有项的active类$(&…

挑战房市预测领头羊:KNN vs. 决策树 vs. 线性回归

挑战房市预测领头羊&#xff08;KNN&#xff0c;决策树&#xff0c;线性回归&#xff09; 1. 介绍1.1 K最近邻&#xff08;KNN&#xff09;&#xff1a;与邻居的友谊1.1.1 KNN的基础1.1.2 KNN的运作机制1.1.3 KNN的优缺点 1.2 决策树&#xff1a;解码房价的逻辑树1.2.1 决策树的…

【日常设计案例分享】通道对账

今天跟同事们讨论一个通道对账需求的技术设计。鉴于公司业务线有好几个&#xff0c;为避免不久的将来各业务线都重复竖烟囱&#xff0c;因此&#xff0c;我们打算将通道对账做成系统通用服务&#xff0c;以降低各业务线的开发成本。 以下文稿&#xff08;草图&#xff09;&…

局部变量,在使用时再定义

关于局部变量&#xff0c;适时定义局部变量&#xff0c;可提高代码清晰度和可读性&#xff0c;并能规避不必要的代码bug 局部变量&#xff0c;在使用时再定义&#xff0c;提高代码可读性 下面代码中的2个方法&#xff0c;第1个 verifyTaskApply 调用第2个 existAppliedTask 。…

20240730 每日AI必读资讯

&#x1f3ac;燃爆&#xff01;奥运8分钟AI影片火了&#xff0c;巴赫主席&#xff1a;感谢中国黑科技 - 短片名为《永不失色的她》&#xff08;To the Greatness of HER&#xff09;&#xff0c;由阿里巴巴和国际奥委会联合推出。 - 百年奥运史上伟大女性的影响故事在此被浓缩…

Rust语言入门第七篇-控制流

文章目录 Rust语言入门第七篇-控制流If 表达式基本结构特点和规则示例 let 语句中使用 ifloop 循环基本结构特点示例综合示例 while 循环基本结构特点示例综合示例 与 loop 循环的区别 for 循环基本结构详细说明特点示例综合示例 Rust语言入门第七篇-控制流 Rust 的控制流是指…

Oracle Database 23.5 - for Engineered Systems版本发布

要尝鲜的可以在https://edelivery.oracle.com/下载。对于x86的本地版本再等等吧。 安装可参考飞总的&#xff1a;oracle 23ai&#xff08;23.5.0.24.07&#xff09;完整功能版安装体验 – 提供7*24专业数据库(Oracle,SQL Server,MySQL,PostgreSQL等)恢复和技术支持Tel:1781323…

Python数值计算(12)

本篇说说Neville方法。Neville方法的基础是&#xff0c;插值多项式可以递归的生成&#xff0c;有时进行插值的目的是为了计算某个点的值&#xff0c;这个时候并不需要将拟合曲线完全求出&#xff0c;而是可以通过递归的方式进行计算&#xff0c;具体操作如下&#xff1a; 例如…

OpenGL学习 1

一些唠叨&#xff1a; 很多时候&#xff0c;都被Live2d吸引&#xff0c;去年想给网页加个live2d看板娘&#xff0c;结果看不懂live2d官方给的SDK&#xff0c;放弃了。今天又想弄个live2d桌宠&#xff0c;都已经在网上找到Python 的 Live2D 拓展库了&#xff0c;并提供了用QT实现…

昇思25天学习打卡营第19天|ResNet50 图像分类案例:数据集、训练与预测可视化

目录 环境配置 数据集加载 数据集可视化 Building Block Bottleneck 构建ResNet50网络 模型训练与评估 可视化模型预测 环境配置 首先指出实验环境预装的 mindspore 版本以及更换版本的方法。然后&#xff0c;它卸载了已安装的 mindspore 并重新安装指定的 2.3.0rc1 版本…

值得买科技与MiniMax达成官方合作伙伴关系,共建融合生态

7月29日&#xff0c;值得买科技与大模型公司MiniMax宣布达成官方合作伙伴关系。 MiniMax旗下大模型产品海螺AI现已接入值得买“消费大模型增强工具集”&#xff0c;基于海螺AI比价策略&#xff0c;用户可通过海螺AI“悬浮球”功能实现快速比价及跳转购买。 此次合作也标志着值…