Docker 的安装和基本使用[SpringBoot之Docker实战系列] - 第535篇

历史文章(文章累计530+)

《国内最全的Spring Boot系列之一》

《国内最全的Spring Boot系列之二》

《国内最全的Spring Boot系列之三》

《国内最全的Spring Boot系列之四》

《国内最全的Spring Boot系列之五》

《国内最全的Spring Boot系列之六》

《国内最全的Spring Boot系列之七》

Spring Boot实用小技巧8 - 第530篇

Spring Boot实用小技巧9 - 第531篇

Spring Boot实用小技巧10 - 第532篇

Suno V4 API 接入 – 最新的Suno模型,音质很炸裂

Spring Boot实用小技巧11 - 第533篇

Viggle Api上线V3-beta模型,圣诞节跳舞视频来临

Suno Api V4 - Suno Api系列教程,耗费1个星期,输出14篇文章

Viggle AI开放照片唱歌API,新年快乐唱起来

Docker入门篇[SpringBoot之Docker实战系列] - 第534篇

导读

在前面的文章中,对于Docker有了一个基本的认知,既然Docker是一个容器,那么这个容器怎么运行?怎么安装,就成为了对于工具使用的很关键的一点。

一、Docker的安装

Docker 是一个开源的商业产品,有两个版本:社区版(Community Edition,缩写为 CE)和企业版(Enterprise Edition,缩写为 EE)。企业版包含了一些收费服务,个人开发者一般用不到。下面的介绍都针对社区版。

Docker CE 的安装参考官方文档。

  • Mac:https://docs.docker.com/desktop/setup/install/mac-install/

  • Windows:https://docs.docker.com/desktop/setup/install/windows-install/

  • Ubuntu:https://docs.docker.com/engine/install/ubuntu/

  • Debian:https://docs.docker.com/engine/install/debian/

  • CentOS:https://docs.docker.com/engine/install/centos/

  • Fedora:https://docs.docker.com/engine/install/fedora/

  • 其他 Linux 发行版:https://docs.docker.com/engine/install/binaries/

1.1 Mac下安装Docker

进入到下载地址:

https://docs.docker.com/desktop/setup/install/mac-install/

下载相应Apple芯片的版本,

(1)使用页面顶部的下载按钮或从 发行说明中下载安装程序。

(2)双击Docker.dmg打开安装程序,然后将 Docker 图标拖到应用程序文件夹中。默认情况下,Docker Desktop 安装在/Applications/Docker.app。

(3)双击应用程序Docker.app文件夹以启动 Docker。

(4)Docker菜单显示Docker订阅服务协议。

以下是主要要点的总结:

l Docker Desktop 可免费供小型企业(员工少于 250 人且年收入少于 1000 万美元)、个人使用、教育和非商业开源项目使用。

l 否则,专业使用需要付费订阅。

l 政府实体也需要付费订阅。

l Docker Pro、Team 和 Business 订阅包括 Docker Desktop 的商业用途。

(5)选择“接受”继续。

请注意,如果您不同意条款,Docker Desktop 将无法运行。您可以稍后打开 Docker Desktop 来选择接受条款。

1.1 Window下安装Docker

进入到下载地址:

https://docs.docker.com/desktop/setup/install/windows-install/

(1)使用页面顶部的下载按钮或从 发行说明中下载安装程序。

(2)双击Docker Desktop Installer.exe运行安装程序。默认情况下,Docker Desktop 安装在C:\Program Files\Docker\Docker。

(3)出现提示时,请确保根据您选择的后端,在配置页面上选择使用 WSL 2 而不是 Hyper-V选项。

(4)如果您的系统仅支持两个选项中的一个,您将无法选择使用哪个后端。

(5)按照安装向导上的说明授权安装程序并继续安装。

(6)安装成功后,选择关闭,完成安装过程。

(7)启动 Docker Desktop。

二、Linux验证是否安装成功

在Mac或者Window安装好之后,能打开就是注册成功,在Linuxde的话,

安装完成后,运行下面的命令,验证是否安装成功。

$ docker version
# 或者
$ docker info

三、image 文件

Image乍一看是以为是图片文件呐,非也,非也。

Image 是一个英文单词,具体含义会根据上下文有所不同,以下是常见的几种解释:

(1)图像,图片:指一幅图画、照片或视觉呈现的东西。

(2)形象:指某人或某事在别人心目中的印象或外在展示的状态。

(3)意象,比喻:在文学或艺术中,用来描绘某种感觉、场景或概念的形象或比喻。

(4)印象,观念:某事物在心中的想法或看法,通常不是视觉上的。

(5)影像,映像:反射出来的形象,比如镜子里的影像。

(6)数据镜像,文件镜像(技术领域):在计算机或技术中,指一个文件、系统或存储设备的副本(通常是完整的)。

….

在Docker中,这个Image指的是第(6)条的意思,镜像。

在 Docker 中,Docker 镜像(Docker Image) 是一种轻量级、独立且可执行的软件包,包含了运行一个软件所需的一切:代码运行时环境配置文件等。它是 Docker 容器的模板或蓝图。

Docker 把应用程序及其依赖,打包在 image 文件里面。只有通过这个文件,才能生成 Docker 容器。image 文件可以看作是容器的模板。Docker 根据 image 文件生成容器的实例。同一个 image 文件,可以生成多个同时运行的容器实例

image 是二进制文件。实际开发中,一个 image 文件往往通过继承另一个 image 文件,加上一些个性化设置而生成。举例来说,你可以在 Ubuntu 的 image 基础上,往里面加入 Apache 服务器,形成你的 image

# 列出本机的所有 image 文件。
$ docker image ls
# 删除 image 文件
$ docker image rm [imageName]

image 文件是通用的,一台机器的 image 文件拷贝到另一台机器,照样可以使用。一般来说,为了节省时间,我们应该尽量使用别人制作好的 image 文件,而不是自己制作。即使要定制,也应该基于别人的 image 文件进行加工,而不是从零开始制作。

为了方便共享,image 文件制作完成后,可以上传到网上的仓库。Docker 的官方仓库 Docker Hub 是最重要、最常用的 image 仓库。此外,出售自己制作的 image 文件也是可以的。

五、实例:hello world

下面,我们通过最简单的 image 文件"hello world",感受一下 Docker

首先,运行下面的命令,将 image 文件从仓库抓取到本地。

$ docker image pull library/hello-world

上面代码中,docker image pull是抓取 image 文件的命令。library/hello-world是 image 文件在仓库里面的位置,其中library是 image 文件所在的组,hello-world是 image 文件的名字。

由于 Docker 官方提供的 image 文件,都放在library组里面,所以它的是默认组,可以省略。因此,上面的命令可以写成下面这样。

$ docker image pull hello-world

抓取成功以后,就可以在本机看到这个 image 文件了。

$ docker image ls

现在,运行这个 image 文件。

$ docker container run hello-world

docker container run命令会从 image 文件,生成一个正在运行的容器实例。

注意,docker container run命令具有自动抓取 image 文件的功能。如果发现本地没有指定的 image 文件,就会从仓库自动抓取。因此,前面的docker image pull命令并不是必需的步骤。

如果运行成功,你会在屏幕上读到下面的输出。

$ docker container run hello-world
Hello from Docker!
This message shows that your installation appears to be working correctly.
... ...

输出这段提示以后,hello world就会停止运行,容器自动终止。

有些容器不会自动终止,因为提供的是服务。

对于那些不会自动终止的容器,必须使用docker container kill 命令手动终止。

$ docker container kill [containID]

历史文章(文章累计530+)

《国内最全的Spring Boot系列之一》

《国内最全的Spring Boot系列之二》

《国内最全的Spring Boot系列之三》

《国内最全的Spring Boot系列之四》

《国内最全的Spring Boot系列之五》

《国内最全的Spring Boot系列之六》

《国内最全的Spring Boot系列之七》

SpringBoot基本原理,轻松应对面试官 - 第522篇

Spring Boot实用小技巧 -  - 第523篇

Spring Boot实用小技巧2 - 第524篇

Spring Boot实用小技巧3 - 第525篇

Spring Boot实用小技巧4 - 第526篇

万物皆能舞,AI让你秒变“舞”林高手 – Viggle AI“舞”所不能

法定年龄退休2024年新规,我要到63岁才能退休了,看看你几岁退休,附退休对照表

Suno新上线Covers翻唱新 - 实现音频风格任意转换

Spring Boot实用小技巧5 - 第527篇

Spring Boot实用小技巧6 - 第528篇

又一款AI对口型神器,让照片开口说话唱歌,1分钟教会(附保姆级教程)

Spring Boot实用小技巧7

Spring Boot实用小技巧8 - 第530篇

Viggle API开放,接入到自己的产品中,让照片跳起舞来

Spring Boot实用小技巧9 - 第531篇

AI视频生视频,一次支持20秒的视频,效果挺震撼 - 模仿爆款抖音账号制作爆款视频[AI视界]

Spring Boot实用小技巧10 - 第532篇

Suno V4版本震撼来袭,音质与歌词双提升

Suno V4上线啦,来听听V3和V4的区别,效果太炸裂了 —— V4 IS HERE

Suno V4 API 接入 – 最新的Suno模型,音质很炸裂

Spring Boot实用小技巧11 - 第533篇

Viggle Api上线V3-beta模型,圣诞节跳舞视频来临

Suno Api V4 - Suno Api系列教程,耗费1个星期,输出14篇文章

Viggle AI开放照片唱歌API,新年快乐唱起来

Docker入门篇[SpringBoot之Docker实战系列] - 第534篇

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

介绍下不同语言的异常处理机制

Golang 在Go语言中,有两种用于处于异常的机制,分别是error和panic; panic panic 是 Go 中处理异常情况的机制,用于表示程序遇到了无法恢复的错误,需要终止执行。 使用场景 程序出现严重的不符合预期的问题&#x…

车联网安全--TLS握手过程详解

目录 1. TLS协议概述 2. 为什么要握手 2.1 Hello 2.2 协商 2.3 同意 3.总共握了几次手? 1. TLS协议概述 车内各ECU间基于CAN的安全通讯--SecOC,想必现目前多数通信工程师们都已经搞的差不多了(不要再问FvM了);…

【update 更新数据语法合集】.NET开源ORM框架 SqlSugar 系列

系列文章目录 🎀🎀🎀 .NET开源 ORM 框架 SqlSugar 系列 🎀🎀🎀 文章目录 系列文章目录前言 🍃一、实体对象更新1.1 单条与批量1.2 不更新某列1.3 只更新某列1.4 NULL列不更新1.5 无主键/指定列…

51单片机入门基础

目录 一、基础知识储备 (一)了解51单片机的基本概念 (二)掌握数字电路基础 (三)学习C语言编程基础 二、开发环境搭建 (一)硬件准备 (二)软件准备 三、…

22、PyTorch nn.Conv2d卷积网络使用教程

文章目录 1. 卷积2. python 代码3. notes 1. 卷积 输入A张量为: A [ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ] \begin{equation} A\begin{bmatrix} 0&1&2&3\\\\ 4&5&6&7\\\\ 8&9&10&11\\\\ 12&13&14&15 \end{b…

Python爬虫-汽车之家各车系周销量榜数据

前言 本文是该专栏的第43篇,后面会持续分享python爬虫干货知识,记得关注。 在本专栏之前,笔者在文章《Python爬虫-汽车之家各车系月销量榜数据》中,有详细介绍,如何爬取“各车系车型的月销量榜单数据”的方法以及完整代码教学教程。 而本文,笔者同样以汽车之家平台为例,…

web前端第五次作业---制作菜单

制作菜单 代码: <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Document</title><style…

个人曾经ARM64_汇编角度_PLTHOOK的研究

ARM64基础HOOK研究_2024 之前为了实现一个修改器变速器的小功能,结果研究了很多关于ELF的内容,特别是so文件(ARM64的) 还研究了Hook,以及注入进程等操作,以及实现类似IDA那样的断点,汇编转换,以及软硬断点等(实现了CE那种谁写入/访问/读取的检测),这里就不作记录了,只记录一下简…

win10 Outlook(new) 企业邮箱登录 登录失败。请在几分钟后重试。

windows系统经常弹出使用Outlook(new&#xff09;&#xff0c;自动切过去。 但是登录企业的内网邮箱&#xff0c;折腾了好几次都使用不了。排查网络等问题&#xff0c;在社区找到了答案。 推出一年多不支持企业账户&#xff0c;所以之前的折腾都是浪费时间。 因为这个答案不太…

MySQL中的四种表联结

目录 1、联结、关系表 &#xff08;1&#xff09;关系表 &#xff08;2&#xff09;为什么使用联结 2、如何创建联结 &#xff08;1&#xff09;笛卡尔积&#xff08;叉联结&#xff09;--用逗号分隔 &#xff08;2&#xff09;where子句的重要性 &#xff08;3&#xff…

【Oracle专栏】group by 和distinct 效率

Oracle相关文档&#xff0c;希望互相学习&#xff0c;共同进步 风123456789&#xff5e;-CSDN博客 1.背景 查阅资料&#xff1a; 1&#xff09;有索引情况下&#xff0c;group by和distinct都能使用索引&#xff0c;效率相同。 2&#xff09;无索引情况下&#xff0c;distinct…

easyui datagrid表头和网格错位问题

问题&#xff1a;表头与数据网格错位 解决&#xff1a; 在onLoadSuccess事件中调用fitColumns方法 $(this).datagrid(‘fitColumns’);

[文献精汇]使用 LSTM Networks 的均值回归交易策略

Backtrader 策略实例 [Backtrader]实例:均线策略[Backtrader] 实例:MACD策略[Backtrader] 实例:KDJ 策略[Backtrader] 实例:RSI 与 EMA 结合[Backtrader] 实例:SMA自定义数据源[Backtrader] 实例:海龟策略[Backtrader] 实例:网格交易[Backtrader] 实例: 配对交[Backtrader] 机…

DBeaver执行本地的sql语句文件避免直接在客户端运行卡顿

直接在客户端运行 SQL 语句和通过加载本地文件执行 SQL 语句可能会出现不同的性能表现&#xff0c;原因可能包括以下几点&#xff1a; 客户端资源使用&#xff1a; 当你在客户端界面直接输入和执行 SQL 语句时&#xff0c;客户端可能会消耗资源来维护用户界面、语法高亮、自动完…

opencv warpAffine仿射变换C++源码分析

基于opencv 3.1.0源代码 sources\modules\imgproc\src\imgwarp.cpp void cv::warpAffine( InputArray _src, OutputArray _dst,InputArray _M0, Size dsize,int flags, int borderType, const Scalar& borderValue ) {...if( !(flags & WARP_INVERSE_MAP) ){//变换矩阵…

【数字化】华为-用变革的方法确保规划落地

导读&#xff1a;华为在数字化转型过程中&#xff0c;深刻认识到变革的必要性&#xff0c;并采用了一系列有效的方法确保转型规划的有效落地。华为认为&#xff0c;数字化转型不仅仅是技术层面的革新&#xff0c;更是企业运作模式、流程、组织、文化等深层次的变革。数字化转型…

Excel中SUM求和为0?难道是Excel有Bug!

大家好&#xff0c;我是小鱼。 在日常工作中有时会遇到这样的情况&#xff0c;对Excel表格数据进行求和时&#xff0c;结果竟然是0&#xff0c;很多小伙伴甚至都怀疑是不是Excel有Bug&#xff01;其实&#xff0c;在WPS的Excel表格中数据求和&#xff0c;结果为0无法正确求和的…

极客说|Azure AI Agent Service 结合 AutoGen/Semantic Kernel 构建多智能体解决⽅案

作者&#xff1a;卢建晖 - 微软高级云技术布道师 「极客说」 是一档专注 AI 时代开发者分享的专栏&#xff0c;我们邀请来自微软以及技术社区专家&#xff0c;带来最前沿的技术干货与实践经验。在这里&#xff0c;您将看到深度教程、最佳实践和创新解决方案。关注「极客说」&am…

【Block总结】稀疏自注意力机制SABlock,即插即用

SparseViT论文解读 论文标题: SparseViT: Nonsemantics-Centered, Parameter-Efficient Image Manipulation Localization through Spare-Coding Transformer 论文链接: https://arxiv.org/pdf/2412.14598 官方GitHub: https://github.com/scu-zjz/SparseViT #研究背景 图像操…

RocketMQ 知识速览

文章目录 一、消息队列对比二、RocketMQ 基础1. 消息模型2. 技术架构3. 消息类型4. 消费者类型5. 消费者分组和生产者分组 三、RocketMQ 高级1. 如何解决顺序消费和重复消费2. 如何实现分布式事务3. 如何解决消息堆积问题4. 如何保证高性能读写5. 刷盘机制 &#xff08;topic 模…