初识容器Docker
目前使用 Docker 基本上有两个选择:Docker Desktop
和Docker Engine
。Docker Desktop
是专门针对个人使用而设计的,支持 Mac 和 Windows 快速安装,具有直观的图形界面,还集成了许多周边工具,方便易用。
不是太推荐使用Docker Desktop
,原因有两个。第一个,它是商业产品,难免会带有 Docker 公司的“私人气息”,有一些自己的、非通用的东西,不利于我们后续的 Kubernetes 学习。第二个,它只是对个人学习免费,受条款限制不能商用,我们在日常工作中难免会“踩到雷区”。
Docker Engine
则和Docker Desktop
正好相反,完全免费,但只能在 Linux 上运行,只能使用命令行操作,缺乏辅助工具,需要我们自己动手 DIY 运行环境。不过要是较起真来,它才是Docker
当初的真正形态,“血脉”最纯正,也是现在各个公司在生产环境中实际使用的 Docker 产品,毕竟机房里 99% 的服务器跑的都是 Linux。
sudo apt install -y docker.io
安装docker。
完成之后如下图:
sudo systemctl start docker
启动docker
。
sudo systemctl status docker
可以看到状态是active (running)
。
sudo usermod -aG docker ${USER}
把当前用户加入docker组,退出系统(命令 exit ),再重新登录一次,这样才能让修改用户组的命令 usermod 生效。
因为我使用的是root
用户,所以不用执行。
sudo docker version
会输出 Docker 客户端和服务器各自的版本信息:
可以看到,我使用的是Docker Engine 24.0.5
,系统是Linux
,硬件架构是amd64
。
sudo docker info
会显示当前 Docker 系统相关的信息,例如 CPU、内存、容器数量、镜像数量、容器运行时、存储文件系统等等。
sudo docker info
显示的这些信息,对于我们了解 Docker 的内部运行状态非常有用。
docker ps
,它会列出当前系统里运行的容器,就像我们在 Linux 系统里使用 ps 命令列出运行的进程一样。
所有的 Docker 操作都是这种形式:以 docker 开始,然后是一个具体的子命令,之前的docker version
和docker info
也遵循了这样的规则。你还可以用help
或者--help
来获取帮助信息,查看命令清单和更详细的说明。
docker pull
,从外部的镜像仓库(Registry)拉取一个 busybox 镜像(image),你可以把它类比成是 Ubuntu 里的“apt install
”下载软件包,docker pull busybox
拉取busybox镜像。
docker images
列出当前 Docker 所存储的所有镜像。
可以看到,命令会显示有一个叫busybox
的镜像,镜像的 ID 号是一串 16 进制数字a416a98b71e2
,大小是 4.26MB。
docker run busybox echo hello world
输出计算机世界最著名的语句“hello world
”。
docker ps -a
列出来所有的镜像。
Docker 的架构
下面的这张图来自 Docker 官网(https://docs.docker.com/get-started/overview/),精准地描述了 Docker Engine 的内部角色和工作流程,对我们的学习研究非常有指导意义。
刚才我们敲的命令行 docker 实际上是一个客户端 client ,它会与 Docker Engine 里的后台服务 Docker daemon 通信,而镜像则存储在远端的仓库 Registry 里,客户端并不能直接访问镜像仓库。
Docker client 可以通过 build、pull、run等命令向 Docker daemon 发送请求,而 Docker daemon 则是容器和镜像的“大管家”,负责从远端拉取镜像、在本地存储镜像,还有从镜像生成容器、管理容器等所有功能。
所以,在 Docker Engine 里,真正干活的其实是默默运行在后台的 Docker daemon,而我们实际操作的命令行工具“docker”只是个“传声筒”的角色。
Docker 官方还提供一个“hello-world”示例,可以为你展示 Docker client 到 Docker daemon 再到 Registry 的详细工作流程,你只需要执行这样一个命令docker run hello-world
。
它会先检查本地镜像,如果没有就从远程仓库拉取,再运行容器,最后输出运行信息:
此文章为10月Day 5学习笔记,内容来源于极客时间《Kubernetes 入门实战课》
相关文章:
初识容器Docker
目前使用 Docker 基本上有两个选择:Docker Desktop和Docker Engine。Docker Desktop 是专门针对个人使用而设计的,支持 Mac 和 Windows 快速安装,具有直观的图形界面,还集成了许多周边工具,方便易用。 不是太推荐使用D…...
pikachu靶场搭建及通关
一、靶场搭建 下载工具:phpstudy Pikachu靶机下载地址: https://github.com/zhuifengshaonianhanlu/pikachu 下载后解压缩并放入如下文件夹(网站根目录) 建议修改文件名称为 pikachu 修改配置文件(mysql 用户名&…...
选择排序(学习笔记)
选择排序 选择排序的基本思想是冒泡排序,记录当前位置i和最小值k的位置,使用一个变量j往后寻找。 每一轮找到最小值后与第一个元素进行交换,以此类推。 不使用辅助变量交换两个元素的值方法 package com.company.sort;import java.util.Ra…...
PCL 生成球形点云
目录 一、算法原理二、代码实现三、结果展示四、参考链接一、算法原理 生成球体点云的方法有很多种,Marsaglia于1972年提出了一个简单易行的实现方法,它从(-1,1)上的独立均匀分布中选取 x 1 x_1 x...
Flutter 剪裁(Clip)
🔥 ClipOval 🔥 子组件为正方形时剪裁成内贴圆形;为矩形时,剪裁成内贴椭圆 裁剪纯色背景 ClipOval(child: Container(width: 300.w,height: 300.w,decoration: const BoxDecoration(color: Colors.red),),), 裁剪背景图片 裁剪前…...
嵌入式C语言自我修养《GNU C编译器扩展语法》学习笔记
目录 一、C语言标准和编译器 二、指定初始化 三、宏构造“利器”:语句表达式 四、typeof与container_of宏 五、零长度数组 六、属性声明:section 七、属性声明:aligned 一、C语言标准和编译器 C语言标准的发展过程: ●…...
密码学二: md5 网站服务器与用户通信过程 ca原理 签名原理 Flame 病毒原理
md5被破解? MD5(Message Digest Algorithm 5)是一个较早的哈希函数,但由于其弱点和漏洞,它已经被认为不再适合用于安全性要求较高的应用。MD5的一些安全性问题包括: 碰撞攻击: MD5已经被证明容易受到碰撞攻…...
Zend Framework 3.1.3 gadget chain
前言 在推特上的PT SWARM账号发布了一条消息。 一个名为Zend Framework的php框架出现了新的gadget chain,可导致RCE。笔者尝试复现,但失败了。所幸,我基于此链,发现在这个框架的最新版本中的另一条链。 复现过程 这里使用vscod…...
互联网Java工程师面试题·Java 并发编程篇·第四弹
目录 39、volatile 有什么用?能否用一句话说明下 volatile 的应用场景? 40、为什么代码会重排序? 41、在 java 中 wait 和 sleep 方法的不同? 42、用 Java 实现阻塞队列 43、一个线程运行时发生异常会怎样? 44、…...
3、Linux下安装
以下操作仅限于rh系列:支持rpm/yum安装方式,不支持deb/apt安装方式。 以下操作仅限于rh系列:支持rpm/yum安装方式,不支持 deb/apt安装方式。 1、在线下载安装包: wget https://downloads.mysql.com/archives/get/p/23/file/ m…...
Zookeeper【Curator客户端Java版】从0到1——万字学习笔记
目录 初识Zookeeper Zookeeper作用 维护配置信息 分布式锁服务 集群管理 生产分布式唯一ID Zookeeper的设计目标 Zookeeper 工作机制 数据模型 ZooKeeper 命令操作 服务端常用命令 客户端常用命令 ZooKeeper JavaAPI操作 Curator 介绍 Curator API 常用操作 导入依赖 建立连接 …...
生物标志物发现中的无偏数据分析策略
目录 0. 导论基本概念 1. 生物标志物发现的注意事项2. 数据预处理2.1 高质量原始数据和缺失值处理2.2 数据过滤2.3 数据归一化 3. 数据质量评估3.1 混杂因素3.2 类别分离3.3 功效分析3.4 批次效应 4. 生物标志物发现4.1 策略4.2 数据分析工具4.3 模型优化策略 0. 导论 组学技术…...
华为校招机试题- 机器人活动区域-2023年
题目描述: 现有一个机器人,可放置于 M N的网格中任意位置,每个网格包含一个非负整数编号。当相邻网格的数字编号差值的绝对值小于等于 1 时,机器人可在网格间移动 问题:求机器人可活动的最大范围对应的网格点数目。 说明: 1)网格左上角坐标为 (0, 0),右下角坐标为 (m-…...
半屏小程序
准备工作 tip 管理后台配置 设置-》第三方设置-》半屏小程序管理-》我调用的 添加小程序 有些手机会唤起失败,直接唤起了全屏的小程序,所以我们为了兼容,需要在app.config.ts加上 {"embeddedAppIdList": ["wxxxxxxxx"]/…...
2023年最新Python大数据之Python基础【七】管理系统
文章目录 7、学生管理系统8、函数递归9、lambda函数后记 7、学生管理系统 # 需求拆分:1.展示学生管理系统的功能有哪些,引导用户键入序号选择功能 2.获取用户键入的功能 3.分析具体要执行哪一项功能 4.执行功能 def print_all_option():"""用户功能界面展示&qu…...
【网安】网络安全防止个人信息泄露
网络安全防止个人信息泄露 1、尝试检查自己的网络隐私数据是否泄漏过,可以使用下面的网站2、使用安全非盈利组织的浏览器3、安装浏览器插件,防止网络跟踪4、保持安全的访问方式 1、尝试检查自己的网络隐私数据是否泄漏过,可以使用下面的网站 …...
ChatGPT,AIGC 数据库应用 Mysql 常见优化30例
使用ChatGPT,AIGC总结出Mysql的常见优化30例。 1. 建立合适的索引:在Mysql中,索引是重要的优化手段,可以提高查询效率。确保表的索引充分利用,可以减少查询所需的时间。如:create index idx_name on table_name(column_name); 2. 避免使用select * :尽可能指定要返回的…...
并查集路径压缩
并查集里的 find 函数里可以进行路径压缩,是为了更快速的查找一个点的根节点。对于一个集合树来说,它的根节点下面可以依附着许多的节点,因此,我们可以尝试在 find 的过程中,从底向上,如果此时访问的节点不…...
spring和springMVC的说明
Spring和Spring MVC都是Java应用程序开发中常用的框架,它们提供了一种结构化的方法来构建企业级Java应用程序。下面我将对它们进行详细的说明: Spring: 概述: Spring是一个综合的Java应用程序开发框架,旨在简化企业级…...
软件工程与计算总结(十)软件体系结构设计与构建
目录 编辑 一.体系结构设计过程 1.分析关键需求和项目约束 2.选择体系结构风格 3.体系结构逻辑设计 4.体系结构实现 5.完善体系结构设计 6.定义构件接口 二.体系结构原型构建 1.包的创建 2.重要文件的创建 3.定义构件之间的接口 4.关键需求的实现 三.体系结构的…...
【实操】基于ChatGPT构建知识库
前言 最近有些实践,因为后面要去研究fine-tune了,想着记录一下chatgpt向量数据库构建知识库的一些实操经验,不记我很快就忘了,哈哈。 首先,提一下为啥会出现向量数据库这个技术方案? 大家经过实践发现&…...
ribbonx编程笔记-读写注册表与使用自定义对话框
Windows 注册表是一个数据库,用于存储与计算机不同方面相关的设置,例如用户设置、应用程序设备、硬件设置,等等。 VBA 提供了与注册表直接交互的方式,这不仅允许我们获取其它程序和硬件的信息,而且也能够使我们选择应用程序中的重要信息并将其存储在注册表中。本文中,…...
网工记背配置命令(3)----POE配置示例
POE 供电就是通过以太网供电,这种方式仅凭借那根连接通信终端的网线就可完成为它们供电。POE提供的是-53V~0v 的直流电,供电距离最长可达 100m。PoE 款型的交换机的软件大包天然支持 POE,无需 license,通过执行 poe-enable 命令使…...
网络安全(黑客技术)—0基础学习手册
目录 一、自学网络安全学习的误区和陷阱 二、学习网络安全的一些前期准备 三、网络安全学习路线 四、学习资料的推荐 想自学网络安全(黑客技术)首先你得了解什么是网络安全!什么是黑客! 网络安全可以基于攻击和防御视角来分类…...
[部署网站]01安装宝塔面板搭建WordPress
宝塔面板安装WordPress(超详细)_Wordpress主题网 参考教程 宝塔面板 - 简单好用的Linux/Windows服务器运维管理面板 官网 1.首先你需要一个服务器或者主机 (Windows系统或者Linux系统都可以) 推荐Linux系统更稳定,…...
Can We Edit Multimodal Large Language Models?
本文是LLM系列文章,针对《Can We Edit Multimodal Large Language Models?》的翻译。 我们可以编辑多模态大型语言模型吗? 摘要1 引言2 相关工作3 编辑多模态LLM4 实验5 结论 摘要 本文主要研究多模态大语言模型(Multimodal Large Language Models, mllm)的编辑…...
使用jsqlparser创建MySQL建表语句
语法 create table [IF NOT EXISTS] 表名 ( 字段名 类型 [约束条件], 字段名 类型 [约束条件], 字段名 类型 [约束条件], 字段名 类型 [约束条件] ); 字段定义在括号内约束条件可以有多个多个字段定义之间用都会隔开 常见约束 NOT NULL 非空DEFAULT 0 默认值AUTO_INCREMENT…...
字符串思维题练习 DAY6 (CF 245H , CF 559B , CF 1731C , CF1109B)
字符串思维题练习 DAY6 (CF 245H , CF 559B , CF 1731C , CF1109B) CF 245 H. Queries for Number of Palindromes(字符串 dp) Problem - H - Codeforces 大意:给出一个字符串S (|S| ≤ 5000) , 给出 Q 次询问 , 每…...
Linux:Mac VMware Fusion13以及CentOS7安装包
Linux:Mac VMware Fusion13以及CentOS7安装包 1. Mac VMware Fusion132. CentOS7安装包3. 安装 1. Mac VMware Fusion13 下载官网地址:https:www.vmware.com/products/fusion/fusion-evaluation.html 2. CentOS7安装包 注意是m芯片需要使用arm架构的i…...
【微服务部署】十、使用Docker Compose搭建高可用Redis集群
现如今,业务系统对于缓存Redis的依赖似乎是必不可少的,我们可以在各种各样的系统中看到Redis的身影。考虑到系统运行的稳定性,Redis的应用和MySQL数据库一样需要做到高可用部署。 一、Redis 的多种高可用方案 常见的Redis的高可用方案有以下…...
wordpress自定义文章添加标签/公司官网制作多少钱
使用yum安装epel yum源,并安装nginx1、安装epel-release2、yum repolist3、查看 epel repo4、安装 nginx5、启动 nginx 服务6、web 进行访问1、安装epel-release [rootNeo_Tang ~]# yum install epel-release -y Loaded plugins: fastestmirror Loading mirror spe…...
六安网站制作/今日最新消息
java中HashMap,LinkedHashMap,TreeMap,HashTable的区别 :java为数据结构中的映射定义了一个接口java.util.Map;它有四个实现类,分别是HashMap Hashtable LinkedHashMap 和TreeMap Map主要用于存储健值对,根据键得到值,因此不允许键…...
wordpress 淘宝客页面/seo网站优化快速排名软件
1、录制脚本:(1)选中Test Plan单击鼠标右键,在弹出菜单中选择Add->Thread Group;(2)接下来选中WorkBench单击鼠标右键,在弹出菜单中选择Add->Non-Test Elements->HTTP Proxy Server;(3)在“HTTP Proxy Server…...
做网站大公司还是小公司/网站怎么优化
2018年洛阳十大技校排名 排名前十的学校有哪些2018-06-23 19:25:32文/王蕊中考结束后一定有很多初中生想就读技校,下面,初三网小编就为大家整理一下2018年洛阳最好的十大技校排名,以便大家选择合适的技校。2018洛阳十大技校排名技校排名技校名…...
做网站前端有前途么?/疫情最新情况
最近有客户提出一个比较有意思的问题,生产环境与测试环境数据量相差比较大,导致两个环境中执行路径大不相同,如何能保证这两个环境执行计划相同呢?这还是一个比较实际的需求,MySQL中没有绑定执行计划功能,并…...
wordpress phonegap/百度seo快速排名
整个项目包含了:开题报告 开题报告PPT 任务书 中期报告 论文模板 答辩PPT等 项目源码 主要安介绍了系统在开发过程中所应用到的一些关键的技术 主要python技术介绍;框架Django概要;MySQL数据库知识; 以及常规的网页技术HTM…...