Docker基础教程 - 2 Docker安装

更好的阅读体验:点这里 ( www.doubibiji.com

2 Docker安装

Docker 的官网地址:https://www.docker.com/,在官网可以找到 Docker Engine 的安装步骤。

下面进行 Docker 环境的安装,正常情况下 Docker 都是运行在 Linux 服务器上的,因为 Docker 依赖于宿主机的操作系统内核,也就是依赖已经存在并运行的 Linux 内核环境,Docker 只是在已经运行的 Linux 上制造了一个隔离的文件环境,所以所在的主机必须是 Linux 操作系统。即使在 Windows 操作系统也可以安装 Docker,但前提是必须先安装一个虚拟机,并在其中安装Linux操作系统。然后,在虚拟机中的Linux系统上运行Docker。


2.1 Ubuntu安装Docker

所以这里以Ubuntu 22.04 为例,安装 Docker(其他Linux版本,例如 CentOS,也可以在官网找到安装步骤)。

1 卸载旧版本(如果有)

for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done

2 更新包索引并安装依赖

sudo apt-get updatesudo apt-get install ca-certificates curl gnupg

3 添加Docker官方GPG密钥

sudo mkdir -m 0755 -p /etc/apt/keyringscurl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpgsudo chmod a+r /etc/apt/keyrings/docker.gpg

4 添加Docker APT仓库

echo \"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

5 安装Docker引擎

sudo apt-get updatesudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

6 启动Docker服务

sudo systemctl start docker

7 查看Docker版本

docker version

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

8 防止Docker自动更新

sudo apt-mark hold docker-ce

9 允许非root用户使用Docker

默认情况下只有root权限才可以使用Docker,使用下列命令将用户加入到Docker组,以便该用户无需 sudo 即可执行 docker 命令:

sudo usermod -aG docker $USERnewgrp docker

注意: 将本地用户添加到 docker 组后,请确保注销并再次登录。

10 运行Hello World

sudo docker run hello-world

docker run hello-world 是运行 hello-world 镜像,会在本地查看有没有 hello-world 镜像,如果有会直接运行镜像,如果没有会下载镜像,下载完成再运行镜像。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

执行结果:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

hello-world 镜像是 Docker 提供的一个极简的示例镜像,用于测试 Docker 是否正确安装和运行。hello-world 容器在运行完其任务后会自动停止。这个容器的任务非常简单,只是输出 “Hello from Docker!” 这一条消息,然后完成其工作。

2.2 阿里云镜像加速

Docker 官方提供了镜像仓库是 DockerHub ,但是服务器是在国外的,在国内使用下载镜像会很慢,所以我们配置阿里云镜像服务后,下载镜像会快很多。

1 注册并登录阿里云

网址:https://www.aliyun.com/

直接注册登录

2 获取镜像加速地址

搜索镜像服务:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

获取加速地址:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

3 配置镜像加速

按照上面配置镜像加速的脚本,依次执行:

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{"registry-mirrors": ["https://xxxxxxx.mirror.aliyuncs.com"]    # 这里配置的是你自己的地址,别搞错了
}
EOF
# 重新加载服务
sudo systemctl daemon-reload
# 重启docker服务
sudo systemctl restart docker

有了加速器,下载镜像速度能快很多。

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

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

相关文章

服务发现:CP or AP?

1 服务发现的意义 为高可用&#xff0c;生产环境中服务提供方都以集群对外提供服务&#xff0c;集群里这些IP随时可能变化&#xff0c;也需要用一本“通信录”及时获取对应服务节点&#xff0c;这获取过程即“服务发现”。 对服务调用方和服务提供方&#xff0c;其契约就是接…

(3)(3.1) FlightDeck FrSky发射器应用程序

文章目录 前言 1 概述 2 Turnkey Packages 3 参数说明 前言 ​Craft and Theory 的 FlightDeck 可让你轻松查看飞行模式、高度、速度、姿态和关键系统警报&#xff0c;包括故障保护和电池错误&#xff0c;如电池不平衡警告和发射机低电量警报。 1 概述 Craft and Theory 的…

【自然语言处理】NLP入门(二):1、正则表达式与Python中的实现(2):字符串格式化输出(%、format()、f-string)

文章目录 一、前言二、正则表达式与Python中的实现1.字符串构造2. 字符串截取3. 字符串格式化输出3.1 %符号格式化字符串1. 一般形式2. 常用格式字符3. 最小宽度和精度4. 进位制和科学计数法5. 多个对象的格式化输出6. 典例 3.2 format()方法格式化字符串1. 一般形式2. 参数传递…

51单片机-(中断系统)

51单片机-&#xff08;中断系统&#xff09; 了解51单片机中断系统、中断源、中断响应条件和优先级等&#xff0c;通过外部中断0实现按键控制LED亮灭为例理解中断工作原理和编程实现过程。 1.中断系统结构 89C51/52的中断系统有5个中断源 &#xff0c;2个优先级&#xff0c;…

WiFi模块引领智能家居革命:连接未来的生活

随着科技的快速发展&#xff0c;智能家居正成为现代生活的一部分&#xff0c;极大地改变了我们与家庭环境互动的方式。其中&#xff0c;WiFi模块作为关键的连接技术&#xff0c;在推动智能家居革命中发挥着不可忽视的作用。本文将深入探讨WiFi模块如何驱动智能家居革命。 设备互…

1027 打印沙漏

本题要求你写个程序把给定的符号打印成沙漏的形状。例如给定17个“*”&#xff0c;要求按下列格式打印 ***** *** * *** ***** 所谓“沙漏形状”&#xff0c;是指每行输出奇数个符号&#xff1b;各行符号中心对齐&#xff1b;相邻两行符号数差2&#xff1b;符号数先从大到…

多线程:线程通信

线程通信 什么是线程通信 当多个线程共同操作共享的资源时&#xff0c;线程间通过某种方式互相告知自己的的状态&#xff0c;以相互协调&#xff0c;并避免无效的资源争夺。 线程通信的常见模型&#xff08;生产者与消费者模型&#xff09; 生产者线程负责生产数据消费者线…

对抽象工厂模式的理解

目录 1 背景1.1 题目描述1.2 输入描述1.3 输出描述1.4 输入示例1.5 输出示例 2 抽象工厂模式3 思考3.1 我的实现3.2 什么时候用抽象工厂模式&#xff1f;&#xff08;怎么用才是合适的&#xff1f;&#xff09;3.3 [更好的例子](https://refactoringguru.cn/design-patterns/ab…

【探索Linux】—— 强大的命令行工具 P.24(网络基础)

阅读导航 引言一、计算机网络背景1. 网络发展历史 二、认识 "协议"1. 网络协议概念2. 网络协议初识&#xff08;1&#xff09;协议分层&#xff08;2&#xff09;OSI参考模型&#xff08;Open Systems Interconnection Reference Model&#xff09;&#xff08;3&…

NoSQL--1.虚拟机网络配置

目录 1.初识NoSQL 1.1 NoSQL之虚拟机网络配置 1.1.1 首先&#xff0c;导入预先配置好的NoSQL版本到VMware Workstation中 1.1.2 开启虚拟机操作&#xff1a; 1.1.2.1 点击开启虚拟机&#xff1a; 1.1.2.2 默认选择回车CentOS Linux&#xff08;3.10.0-1127.e17.x86_64) 7 …

cobalt strike钓鱼lnk报错:无法连接到远程服务器

笔者在学习 cobalt strike 制作钓鱼文件时发现多次失败&#xff0c;在 win10 虚拟机的 powershell 的多次排查后发现这样一个报错&#xff1a; 使用“1”个参数调用“DownloadString”时发生异常:“无法连接到远程服务器“ 经过多次排查后发现问题出在 cs 的 team server上&…

解决:Glide 在回调中再次加载图片报错

一、问题说明 Glide 加载图片时监听了回调&#xff0c;并在失败时再次加载其它图片后报错。 代码&#xff1a; Glide.with(mContext).load(imgTeacher).listener(new RequestListener<Drawable>() {Overridepublic boolean onLoadFailed(Nullable GlideException e, O…

MCU 串口接收环形缓冲区的实现

环形缓冲区 1. 环形缓冲区的特性 1.先进先出 2. 当缓冲区被使用完&#xff0c;且又有新的数据需要存储时&#xff0c;丢掉历史最久的数据&#xff0c;保存最新的数据 现实中的存储介质都是线性的&#xff0c;因此我们需要做一下处理&#xff0c;才能在功能上实现环形缓冲区 …

[计算机网络]--I/O多路转接之poll和epoll

前言 作者&#xff1a;小蜗牛向前冲 名言&#xff1a;我可以接受失败&#xff0c;但我不能接受放弃 如果觉的博主的文章还不错的话&#xff0c;还请点赞&#xff0c;收藏&#xff0c;关注&#x1f440;支持博主。如果发现有问题的地方欢迎❀大家在评论区指正 目录 一、poll函…

web漏洞与规避

文章目录 一、XSS 跨站脚本攻击1.1 XSS攻击的主要类型反射型XSS存储型XSSDOM型XSS 1.2 前端开发如何应对XSS 二、CSRF 跨站请求伪造2.1 CSRF例子2.2 前端开发如何应对CSRF 三、SQL 注入3.1 前端如何防御SQL注入 四、前端如何使用CSP 一、XSS 跨站脚本攻击 攻击者通过在受害者的…

stm32学习笔记:IIC通信(未完)

概述 第一块&#xff1a;介绍协议规则&#xff0c;然后用软件模拟的形式来实现协议。 第二块&#xff1a;介绍STM32的iic外设&#xff0c;然后用硬件来实现协议。 程序一现象&#xff1a;通过软件I2C通信&#xff0c;对MPU6050芯片内部的寄存器进行读写&#xff0c;写入到配…

【Synchronized同步原理】

Synchronized同步原理 1. synchronized的使用&#xff1f;2. 如何保证线程安全的&#xff1f;3.可重入原理&#xff08;加锁次数计数器&#xff09;4. 原子性和可见性(顺序性) 1. synchronized的使用&#xff1f; 对象锁方法锁类锁 2. 如何保证线程安全的&#xff1f; publi…

关于数据提交上传服务端的数据类型以及项目打包上线的流程

1 请求头的类型&#xff1a; content-type&#xff1b; 01: application/json 数据以json格式请求&#xff1a;{"key":"value"} 02: application/x-www.form-urlencoded from表单的数据格式 name"zs"&age12 03 mutipart/form-data…

重学SpringBoot3-自动配置机制

重学SpringBoot3-自动配置机制 引言Spring Boot 自动配置原理示例&#xff1a;Spring Boot Web 自动配置深入理解总结相关阅读 引言 Spring Boot 的自动配置是其最强大的特性之一&#xff0c;它允许开发者通过最少的配置实现应用程序的快速开发和部署。这一切都得益于 Spring …

飞桨(PaddlePaddle)模型保存与加载教程

文章目录 飞桨&#xff08;PaddlePaddle&#xff09;模型保存与加载教程1. 概述2. 训练调优场景2.1 保存动态图模型2.2 加载动态图模型 3. 推理部署场景3.1 使用基础API 4. 其他场景4.1 旧版本格式兼容载入4.2 静态图模型的保存与加载 5. 总结 飞桨&#xff08;PaddlePaddle&am…