Linux | 零基础Ubuntu构建 Docker-CE 容器技术与学习(最全持续更新中)

目录

介绍

Docker 用途

抽象理解

Docker 版本

安装依赖包

添加Docker官方GPG密钥

​编辑

换成阿里云的密钥[可选]

配置稳定仓库

设置Docker官网稳定仓库

  设置阿里云的稳定仓库

安装 Docker CE

验证Docker CE是否安装成功

启动服务

先检查状态

开机自启动

检查版本

卸载

设置代理

代理位置

代理网站

国内镜像

其他镜像

错误代理格式

正确代理格式


(持续更新中,目前发布日期:2024.12.28日编写,将预计明天继续完善发布,日期动态调整)

介绍

Docker 是一个开源的应用容器引擎,它允许开发者将应用程序及其所有依赖项打包到一个轻量级的、可移植的容器中,从而实现快速部署和环境一致性。‌‌

Docker的核心概念包括容器、镜像和仓库。容器是Docker的核心,它是一种轻量级、可执行的独立软件包,包含应用运行所需的一切要素。镜像是一个只读的模板,包含了运行某个软件所需要的所有内容。仓库用于存储和分发镜像,类似于Git的代码仓库。

Docker的主要优势包括快速启动、轻量化、可移植性和隔离性。与传统的虚拟机相比,Docker容器可以在几秒钟内启动,而传统虚拟机需要几分钟的时间。Docker容器利用宿主机的操作系统内核,与宿主机共享资源,因此比传统的虚拟机更轻量化。此外,Docker容器提供了强大的隔离性,不同容器之间互相隔离,互不干扰,保证了应用程序的安全性和稳定性。

Docker的使用场景非常广泛,包括开发环境、应用程序部署、微服务架构、持续集成/持续部署(CI/CD)、混合云/多云管理和边缘计算等。它为开发团队提供了一个一致的开发环境,简化了应用程序的部署过程,并且是微服务架构的理想选择。Docker与CI/CD工具紧密集成,实现自动化的构建、测试和部署流程。此外,Docker还为混合云/多云策略提供一个统一的抽象层,简化多云管理并提高应用程序的可移植性。

欸欸欸!!打住,不能再介绍这么多了,哈哈哈,接下来带大家一起跟我学习docker技术吧!

先介绍一下 大家都在用的一些 docker 版本吧

Docker 用途

Docker是一个开放源代码的应用容器引擎,能够自动化部署应用封装到一个程序库打包的一部分,然后在任何所选的系统上发布。

Docker可以用于以下几种情况:

  1. 快速部署应用:使用Docker,开发者可以在标准化的环境中运行自己的应用,从而避免了“它在我的机器上可以运行”的问题。

  2. 运行应用协议/中间件:Docker可以用于运行应用协议和中间件,例如数据库、消息队列等。

  3. 创建微服务架构:Docker可以帮助开发者更容易地创建微服务架构,每个服务都在自己的容器中运行。

  4. PaaS服务:Docker也被用于创建PaaS(平台即服务),例如Dokku、Deis和Heroku等。

  5. IoT设备:Docker也可以在嵌入式设备上运行,例如在一个ARM设备上运行Docker。

Docker的核心概念包括:

  1. 镜像(Image):Docker镜像是一个只读的模板,用来创建Docker容器。

  2. 容器(Container):容器是从Docker镜像启动的实例,在容器中可以运行应用。

  3. 仓库(Repository):Docker仓库用于保存镜像,可以是公有或者私有。

  4. 注册中心(Registry):Docker注册中心是一个保存Docker镜像的服务,可以是公有或私有。

抽象理解

想象你是一名厨师,想要在不同的餐厅(不同的计算环境)提供相同的美味佳肴(应用程序)

传统方式(不使用Docker)‌:

  • 每次你要去一个新的餐厅,你都需要重新购买所有的食材(依赖项)、厨具(运行时环境)和调料(配置文件),并且按照相同的食谱(代码)来烹饪菜肴。这个过程既费时又费力,而且可能因为食材、厨具或调料的不同而导致菜肴的味道有所差异。

使用Docker的方式‌:

  • 你首先在一个“中央厨房”(开发环境)里,按照你的食谱(代码)和所需的所有食材、厨具、调料(依赖项、运行时环境、配置文件)烹饪出一道完美的菜肴。
  • 然后,你使用Docker将这个菜肴及其所有相关的东西(食材、厨具、调料)打包成一个“便当盒”(容器)。
  • 这个便当盒是一个标准化的单元,无论你在哪里打开它(在不同的餐厅或计算环境),里面的菜肴(应用程序)都会保持相同的味道(行为),因为你已经把所有需要的东西都封装在里面了。
  • 当你想要在不同的餐厅提供这道菜肴时,你只需要带着这个便当盒过去,打开它,就可以立即享用到美味了。而且,这个便当盒是轻量级的,不会占用太多的空间或资源。

Docker 版本

docker-cedocker.io的主要区别在于维护者、依赖管理方式和安装方式。

  • 维护者‌:

    • docker-ce‌是由Docker官方维护的。
    • docker.io‌是由Debian团队维护的‌。
    • docker-ee 是售后团队和技术团队提供技术支持的。
  • 依赖管理方式‌:

    • docker.io‌采用apt的方式管理依赖。
    • docker-ce‌使用go的方式管理依赖,并且会自己管理所有的依赖‌。
  • 安装方式‌:

    • 安装docker.io时,可以使用apt命令:sudo apt install docker.io
    • 安装docker-ce则需要通过Docker的官方仓库或GitHub等平台下载源代码,自行构建和定制:curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -sudo add-apt-repository "deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu $(lsb_release -cs) stable"sudo apt-get update sudo apt-get install docker-ce‌。

此外,Docker的发布版本分为Stable(稳定)版 和 Edge(测试)版

安装依赖包

sudo apt-get update
sudo apt-get install apt-transport-https ca-certificates curl software-properties-common  gnupg-agent lsb-release

添加Docker官方GPG密钥

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

换成阿里云的密钥[可选]

curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -

配置稳定仓库

Docker 官方中国区: https://registry.docker-cn.com

网易: http://hub-mirror.c.163.com

中科大: https://docker.mirrors.ustc.edu.cn

换成阿里云的目的是为了更加稳定,高速下载

设置Docker官网稳定仓库

# stable(稳定版)
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"

# 或者

sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) 稳定版"

  设置阿里云的稳定仓库

sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"

安装 Docker CE

sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io

补充:有些人会问,诶!筱沐,我安装的是docker-ce,为什么还要安装额外的脚手架(cli)+io??

其实呢,‌在安装docker-ce时,你需要执行sudo apt-get updatesudo apt-get install docker-ce docker-ce-cli containerd.io等命令,主要是为了确保你的系统软件包是最新的,并且能够正确安装Docker及其相关组件。

sudo apt-get install docker-ce docker-ce-cli containerd.io命令用于安装Docker社区版docker-ce)、Docker命令行界面docker-ce-cli)以及containerd.io

docker-ce是Docker的社区版,包含了Docker引擎和基本的Docker工具;

docker-ce-cli提供了Docker的命令行界面,允许你通过命令行与Docker进行交互;

containerd.io是一个容器运行时,负责管理容器的生命周期‌

验证Docker CE是否安装成功

启动服务

sudo systemctl start docker

先检查状态

sudo systemctl status docker

开机自启动

sudo systemctl enable docker

检查版本

docker -v

卸载

sudo apt-get remove docker docker-engine docker.io containerd runc

设置代理

代理位置

sudo vi /etc/docker/daemon.json

代理网站

国内镜像

  • https://registry.docker-cn.com
  • http://hub-mirror.c.163.com
  • https://docker.mirrors.ustc.edu.cn (中国科学技术大学镜像)
  • https://dockerhub.azk8s.cn
  • https://mirror.ccs.tencentyun.com (腾讯云镜像)
  • https://registry.cn-hangzhou.aliyuncs.com (阿里云镜像)

这些镜像源都是国内比较知名且常用的Docker镜像加速器,可以显著提高Docker镜像的拉取速度。

其他镜像

  • https://docker.1panel.live
  • https://atomhub.openatom.cn/
  • https://hub.uuuadc.top

错误代理格式

很多人格式是写成这样的,但就会报错因为格式不是这样的

--------------------------------------------------------------------------------------------------------------------------------

正确代理格式

{
  "registry-mirrors": ["https://xxxx.xxx.xxx.xx:port"]
}

(到底啦)

( 持续更新中.....接下来会写 创建镜像,容器,部署等)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小Mie不吃饭

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值