在Linux系统中搭建Docker环境

news/2024/11/29 0:28:08/

搭建Docker环境

文章目录

  • 搭建Docker环境
    • Ubuntu版本安装Docker
    • Centos版本安装Docker
    • 配置镜像加速

Ubuntu版本安装Docker

按照以下步骤在 Ubuntu 上安装 Docker:

  1. 卸载旧版本的 Docker(如果有):

    sudo apt-get remove docker docker-engine docker.io containerd runc
    
  2. 更新 apt 软件包索引并安装必需的软件包以允许 apt over HTTPS 访问 Docker 仓库:

    sudo apt-get update
    sudo apt-get install -y apt-transport-https ca-certificates curl gnupg lsb-release
    
  3. 添加 Docker 的官方 GPG 密钥:

    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
    
  4. 使用以下命令设置稳定版 Docker 的稳定存储库:

    echo \"deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
    
  5. 更新 apt 软件包索引,并安装最新版本的 Docker:

    sudo apt-get update
    sudo apt-get install -y docker-ce docker-ce-cli containerd.io
    
  6. (可选)将当前用户添加到 docker 用户组中,以使无需使用 sudo 即可运行 Docker 命令:

    sudo usermod -aG docker $USER
    
  7. 重启 Docker 服务以确保所有更改生效:

    sudo systemctl restart docker.service
    

这些步骤将在Ubuntu 系统上安装 Docker。

  • 可以运行以下命令来检查 Docker 是否安装成功:

    docker version
    

如果 Docker 已经正确安装,则会显示 Docker 的版本信息。例如:

Client: Docker Engine - Community
Version:           20.10.7Server: Docker Engine - Community
Engine:Version:          20.10.7

如果想测试 Docker 是否能够正常工作,可以通过运行以下命令来启动一个 Hello World 容器:

docker run hello-world

如果你看到类似于下面的输出,则表示 Docker 环境已经准备好了:

Hello from Docker!
This message shows that your installation appears to be working correctly.
...

请注意,在运行以上命令之前,请确保已经正确地安装并启动了 Docker 服务。

请添加图片描述

Centos版本安装Docker

注意: CentOS 在安装 Docker 时默认会安装 Docker 的官方仓库,并通过该仓库下载 Docker 软件包。而 Ubuntu 安装 Docker 时需要添加 Docker 的官方 GPG 密钥,是因为 Ubuntu 默认的软件源没有包含 Docker 的官方仓库,需要手动添加。因此,这两种操作的差异是由操作系统本身的软件源差异导致的。

以下是在 CentOS 上安装 Docker 的步骤:

  1. 卸载旧版本的 Docker

如果你已经安装了旧版本的 Docker,请先将其卸载:

sudo yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engine
  1. 安装必要的软件包

Docker 需要一些必要的软件包才能在 CentOS 上运行。运行以下命令安装这些软件包:

sudo yum install -y yum-utils device-mapper-persistent-data lvm2
  1. 添加 Docker 的 yum 仓库

运行以下命令添加 Docker 的 yum 仓库:

sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
  1. 安装 Docker

运行以下命令安装 Docker:

sudo yum install docker-ce docker-ce-cli containerd.io

请添加图片描述

请添加图片描述

  1. 启动 Docker

运行以下命令启动 Docker 服务:

sudo systemctl start docker
  1. 验证 Docker 是否安装成功

运行以下命令验证 Docker 是否安装成功:

sudo docker run hello-world

如果一切正常,您应该会看到一条欢迎信息,表示 Docker 安装成功。如果您看到类似于下面的输出,则表示 Docker 环境已经准备好了:

Hello from Docker!
This message shows that your installation appears to be working correctly.
...

请添加图片描述

以上是在 CentOS 上安装 Docker 的步骤。

同理

  • 可以运行以下命令来检查 Docker 是否安装成功:
docker version

如果 Docker 已经正确安装,则会显示 Docker 的版本信息。例如:

Client: Docker Engine - CommunityVersion:           23.0.5API version:       1.42Go version:        go1.19.8Git commit:        bc4487aBuilt:             Wed Apr 26 16:18:56 2023OS/Arch:           linux/amd64Context:           defaultServer: Docker Engine - CommunityEngine:Version:          23.0.5API version:      1.42 (minimum version 1.12)Go version:       go1.19.8Git commit:       94d3ad6Built:            Wed Apr 26 16:16:35 2023OS/Arch:          linux/amd64Experimental:     falsecontainerd:Version:          1.6.20GitCommit:        2806fc1057397dbaeefbea0e4e17bddfbd388f38runc:Version:          1.1.5GitCommit:        v1.1.5-0-gf19387adocker-init:Version:          0.19.0GitCommit:        de40ad0

请注意,在运行以上命令之前,请确保已经正确地安装并启动了 Docker 服务。

配置镜像加速

  • 配置阿里云镜像仓库(镜像加速)

Docker的默认官方远程仓库是hub.docker.com,由于网络原因,下载一个Docker官方镜像可能会需要很长的时间,甚至下载失败。为此,阿里云容器镜像服务ACR提供了官方的镜像站点,从而加速官方镜像的下载。下面介绍如何使用阿里云镜像仓库。

  1. https://cr.console.aliyun.com/cn-guangzhou/instances 前往阿里云的容器镜像控制台
  • 对应Ubuntu的文档

请添加图片描述

  • 对应CentOS的文档

请添加图片描述

  • 加速地址:https://xxxxxxx.mirror.aliyuncs.com (注意:每个人的加速地址都不一样,用自己的就行)

请添加图片描述

  1. 配置命令:
  • 创建目录
    # 创建目录
    sudo mkdir -p /etc/docker
    
  • 创建服务配置文件
    # 创建服务配置文件。
    sudo tee /etc/docker/daemon.json <<-'EOF'
    {"registry-mirrors": ["https://xxxxxxxx.mirror.aliyuncs.com"]
    }
    EOF
    

用于创建一个名为 daemon.json 的 Docker 配置文件,并设置了一个镜像仓库地址供 Docker 使用。使用 sudo 命令以超级用户身份执行命令,然后使用 tee 命令将输出同时写入终端和指定的文件/etc/docker/daemon.json 中。之后使用 Here Document 的语法(即 <<-'EOF')定义了一个 JSON 对象,其中 "registry-mirrors" 键被设置为一个镜像仓库的地址列表,这里使用的地址是https://xxxxxxxx.mirror.aliyuncs.com,该地址可以加速 Docker 拉取镜像的速度。作用是告诉 Docker 从指定的镜像仓库中拉取镜像,而不是默认的 Docker Hub 镜像仓库。

# 重新加载服务配置文件。
sudo systemctl daemon-reload# 重启Docker服务。
sudo systemctl restart docker
  • Ubuntu的

请添加图片描述

  • centos的

请添加图片描述

这两种Linux系统的Docker配置镜像加速都是一毛一样。


http://www.ppmy.cn/news/64863.html

相关文章

云开发谁是卧底线下小游戏发牌助手微信小程序源码

源码下载&#xff1a;https://download.csdn.net/download/m0_66047725/87614365 云开发谁是卧底线下小游戏源码&#xff0c;发牌助手微信小程序源码。 “谁是卧底OL”是一个非常有趣&#xff0c;风靡全国的比拼语言表述能力、知识面与想象力的游戏。 谁是卧底OL是一款由开发…

记录--Vue3+TS(uniapp)手撸一个聊天页面

这里给大家分享我在网上总结出来的一些知识&#xff0c;希望对大家有所帮助 Vue3TS(uniapp)手撸一个聊天页面 前言 最近在自己的小程序中做了一个智能客服&#xff0c;API使用的是云厂商的API&#xff0c;然后聊天页面...嗯&#xff0c;找了一下关于UniApp(vite/ts)版本的好像不…

CE游戏特例说明

1.CE修改游戏特例说明 模拟器游戏不能直接修改游戏的程序代码&#xff08;即不能直接使用代码注入的手段修改code段代码&#xff09;&#xff0c;因为游戏并非使用平台语言所写&#xff0c;只有模拟器是使用平台语言写的&#xff0c;即壳是汇编写的&#xff0c;壳用来翻译跨平台…

数据结构入门-顺序表链表

线性表 线性表&#xff08;linear list&#xff09;是n个具有相同特性的数据元素的有限序列。线性表是一种实际中广泛使用多个数据结构&#xff0c;常见的线性表&#xff1a;顺序表、链表、栈、队列、字符串... 线性表在逻辑上是线性结构&#xff0c;也就说是连续的一条直线。…

学习Maven Web 应用

Maven Web 应用 本章节我们将学习如何使用版本控制系统 Maven 来管理一个基于 web 的项目&#xff0c;如何创建、构建、部署已经运行一个 web 应用。 创建 Web 应用 我们可以使用 maven-archetype-webapp 插件来创建一个简单的 Java web 应用。 打开命令控制台&#xff0c;…

p72 内网安全-域横向 CSMSF 联动及应急响应初识

数据来源 演示案例 MSF&CobaltStrike 联动 ShellWEB 攻击应急响应朔源-后门,日志WIN 系统攻击应急响应朔源-后门,日志,流量临时给大家看看学的好的怎么干对应 CTF 比赛 案例1 - MSF&CobaltStrike联动Shell CS下载与安装&#xff1a;cobaltstrike的安装与基础使用_co…

Java代码重构学习笔记-简化条件表达式

Decompose Conditional (分解条件表达式) 它的主要目的是将复杂的条件语句分解为多个简单的条件语句&#xff0c;从而提高代码的可读性和可维护性。 举个例子&#xff0c;假设有一个计费系统&#xff0c;其中包含一个 calculateFee 方法&#xff0c;负责根据用户的账单信息计…

影像已成为小米手机向上的强劲动力

4月18日&#xff0c;小米正式发布13 Ultra。 这款新机一亮相&#xff0c;就以全球亮度最高的屏幕、以及出类拔萃的徕卡Summicron镜头征服了用户。 一、火爆的小米13 Ultra 这次发布会上&#xff0c;小米13 Ultra是与小米电视大师 86" Mini LED、小米平板6、小米手环8、…