【Docker概念和实践 2】虚拟机 ubuntu18上安装docker

news2024/9/26 5:14:44

一、说明

        已经安装了N遍Docker了,逐步成了一套习惯,这里专门记录之;总之,安装前必须回答得问题是:何种操作系统、何种版本、是否虚拟机、云数据源等问题。一个环境如果装得好,就不需要重装,如果考虑不全面,装了以后又要重装,严重消耗时间精力,要尽量避免。

二、环境、版本、安装前准备活动

2.1 对虚拟机环境的建议

        对于初学者玩转Ubuntu,强烈建议用虚拟机VMware,而不建议单独电脑安装Linux,这是因为在整个学习过程随时会依靠互联网、工具软件(处理图、文、视频等),因此,保留windows就在手边是非常必要的。

2.2 虚拟机和Win10版本要配套

        在Win10上安装虚拟机,首先需要确定版本,而首先要确定Win10的版本。通过对“此电脑”右键后“属性”如图

 可以看到如下界面:

        我的win10是190043.1165版本。注意,这个版本号意义重大,在190041以下是无法安装VMware17的。

2.3 下载最新版VMware虚拟机版本是17 

        Workstation 17 Pro 改进了行业定义技术,支持 DirectX 11 和 OpenGL 4.3 3D 加速图形,暗模式用户界面,支持 Windows 11,用于运行和构建容器和 Kubernetes 集群的 vctl CLI,增加了对最新 Windows 的支持和 Linux 操作系统等等。 使用下面的链接开始免费、功能齐全的 30 天试用,无需注册。

官网地址:

https://www.vmware.com/hk/products/workstation-pro.html

 选择产品:products

选择虚拟机产品 :Workstation Pro

下载Windows版本的虚拟机 

 

通过以上步骤,将虚拟机VMware17下载下来。

输入许可证密钥:JU090-6039P-08409-8J0QH-2YR7F

2.4 Ubuntu版本

ubuntu选择18.04或20.04都可以,对于Docker不会产生区别。

三、Ubuntu上安装Docker过程

3.1 安装流程

官方文档:Install Docker Engine on Ubuntu | Docker Documentation

要安装 Docker Engine,您需要以下 Ubuntu 版本之一的 64 位版本:

  • Ubuntu Kinetic 22.10
  • Ubuntu Jammy 22.04 (LTS)
  • Ubuntu Focal 20.04 (LTS)
  • Ubuntu Bionic 18.04 (LTS)

注意,只有以上四个版本的Ubuntu可以安装Docker,注意查看您的本地ubuntu版本号。

整体安装流程如下,一步一步完成就可以了:

 3.2 卸载旧的版本

        旧版本的 Docker 以 docker、docker.io 或 docker-engine 的名称命名。在尝试安装新版本之前卸载任何此类旧版本:

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

        注意,上面仅仅删除了Docker引擎, 卸载 Docker 时,存储在 /var/lib/docker/ 中的图像、容器、卷和网络不会自动删除。如果您想从全新安装开始,并且更愿意清理任何现有数据,请执行下面

sudo apt-get purge docker-ce docker-ce-cli containerd.io docker-compose-plugin docker-ce-rootless-extras

        主机上的图像、容器、卷或自定义配置文件不会自动删除。删除所有镜像、容器和卷:

 sudo rm -rf /var/lib/docker
 sudo rm -rf /var/lib/containerd

3.3 设定Stable镜像仓库

1 更新 apt 包索引并安装包以允许 apt 通过 HTTPS 使用存储库:

 sudo apt-get update
 sudo apt-get install \
    ca-certificates \
    curl \
    gnupg \
    lsb-release

2 添加 Docker 的官方 GPG 密钥.

sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

 3 使用以下命令设置存储库:

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

以上步骤基本上是粘贴拷贝就可以通过。

3.4 安装Docker引擎

终于到了安装步骤:

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

以上就确保了Docker的安装。

3.5 运行、测试

  1. 启动Docker.

    $ sudo systemctl start docker
    
  2. 通过运行 hello-world 图像验证 Docker 引擎是否已正确安装。

    $ sudo docker run hello-world
    

    成功后出现下列提示:

四、后记

        实际安装有四种,我们这里只选取线上安装。在线上安装Docker可以采用阿里云仓库安装,我们在下篇专门介绍。

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

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

相关文章

C语言刷题之摩尔投票法

目录 1.引入 2.摩尔投票算法 3.基本步骤 摩尔投票法分为两个阶段: 1.抵消阶段 2.检验阶段 4.代码实现 5.扩展沿伸 6.总结 1.引入 我们来看一个问题: 假设有一个无序数组长度为n,要求找出其中出现次数超过n/2的数,要求时间复…

vue3-环境搭建(docker版本)

序 大大小小项目经历无数,之前都是写的vue2的项目,因为项目需要,边学边用vue3,也算能转的开,但心里一直想系统的理顺一下vue3。 看了看极客时间,掘金小课,都没有能达到心里预期的“系统学习”…

免费内网穿透软件一步设置实现外网访问

在工作和生活中,有很多类似内网搭建服务器和外网连接内网的需求, 例如在任何地方都能访问自己家里的主机电脑笔记本上的应用,让出差外网和任何地方都能访问到公司内部局域网的服务器……这些需求我们可以统一用一个方案解决,那就是…

网络编程UDP+TCP

日升时奋斗,日落时自省 目录 1、网络编程基本概念 2、UDP数据报套接字编程 2.1、UDP相关API 2.1.1、DatagramSocket API 2.1.2、DatagramPacket API 2.2、UDP版本服务器 2.3、UDP版本客户端 2.4、UDP连接操作 2.5、翻译业务 2.6、总结 3、TCP流套接字编程 …

【项目实战】一文入门项目中Lombok的常用注解

一、Lombok介绍 1.1 Lombok是什么? 一个Java库,用于简化Java代码。 Lombok是一个非常神奇的 java 类库,会利用注解自动生成 java Bean 中烦人的 Getter、Setting,还能自动生成 logger、ToString、HashCode、Builder 等 java特色…

【GD32F427开发板试用】开发一款网络音乐播放器

本篇文章来自极术社区与兆易创新组织的GD32F427开发板评测活动,更多开发板试用活动请关注极术社区网站。作者:守勤 资源介绍 非常荣幸能够参与到这次GD32F427开发板试用的活动中来,开发板的设计非常简洁,板载了一颗GD32F103C8T6和…

Python中的递归及案例演示

目录 一.什么是递归 二.案例 递归找文件 步骤 os模块中的三个方法 演示 最终代码 三.总结 一.什么是递归 递归在编程中是一种非常重要的算法 递归:即方法(函数)自己调用自己的一种特殊编程写法 如: 函数调用自己,即称之为递归调用。 二.案例 递…

C++ 引用! 他是坤坤也是鸡哥

👑专栏内容:C学习笔记⛪个人主页:子夜的星的主页💕座右铭:日拱一卒,功不唐捐 目录一、前言二、引用1、引用的概念2、引用的声明3、引用的特性Ⅰ、 引用在定义时必须初始化Ⅱ、 一个变量可以有多个引用Ⅲ、引…

深度学习PyTorch 之 DNN-多分类

前面讲了深度学习&PyTorch 之 DNN-二分类,本节讲一下DNN多分类相关的内容,这里分三步进行演示 结构化数据 我们还是以iris数据集为例,因为这个与前面的流程完全一样,只有在模型定义时有些区别 损失函数不一样 二分类时用的损…

Pollard Rho算法

生日悖论 假设一年有nnn天,房间中有kkk人,每个人的生日在这nnn天中,服从均匀分布,两个人的生日相互独立 问至少要有多少人,才能使其中两个人生日相同的概率达到ppp 解:考虑k≤nk\le nk≤n 设kkk个人生日互…

Spring框架介绍及使用

文章目录1.概述1.1 Spring是什么1.2 Spring 的优势1.3 spring 的体系结构2. IoC 的概念和作用2.1 什么是程序的耦合2.2 IoC容器3. AOP的概念和作用超链接: Spring重点内容学习资料1.概述 1.1 Spring是什么 Spring 是分层的 Java SE/EE 应用 full-stack 轻量级开源…

使用docker-compose搭建Prometheus+Grafana监控系统

一、角色分配 Prometheus 采集数据Grafana 用于图表展示redis_exporter 用于收集redis的metricsnode-exporter 用于收集操作系统和硬件信息的metricscadvisor 用于收集docker的相关metrics 二、安装Docker 可以参考:https://ximeneschen.blog.csdn.net/article/d…

JVM调优实战:to-space exhausted Evacuation Failure

一次线上dubbo问题的定位,进行JVM调优实战。问题线上dubbo接口provider抛出异常:org.apache.dubbo.rpc.RpcException: Failfast invoke providers ... RandomLoadBalance select from all providers ... use dubbo version 2.7.16, but no luck to perfo…

vulnhub DC系列 DC-8

总结:exim4提权 目录 下载地址 漏洞分析 信息收集 网站爆破 后台webshell 提权 下载地址 DC-8.zip (Size: 379 MB)Download: http://www.five86.com/downloads/DC-8.zipDownload (Mirror): https://download.vulnhub.com/dc/DC-8.zip使用方法:解压后&#xff…

Cosmos 基础(二)-- Ignite CLI

官网 DOC GitHub 你的项目值得拥有自己的区块链。 Ignite使开发、增长和启动区块链项目比以往任何时候都更快。 Ignite CLI是一个一体化平台,可以在主权和安全的区块链上构建、启动和维护任何加密应用程序 Install Ignite 一、安装 你可以在基于web的Gitpod…

23种设计模式(七)——桥接模式【单一职责】

文章目录 意图什么时候使用桥接真实世界类比桥接模式的实现桥接模式的优缺点亦称:Bridge 意图 桥接模式是将抽象部分与实现部分分离,使它们都可以独立地变化。它是一种对象结构型模式,又称为柄体(Handle and Body)模式或接口(Interfce)模式。 什么时候使用桥接 1、如果一个…

详解MySQL数据库索引实现机制 - B树和B+树

详解MySQL数据库索引实现机制 - B树和B树1.索引的出现2.hash算法的缺点3.二叉排序树BST4.平衡二叉树AVL5.红黑树6.B树诞生了7.B树1.索引的出现 索引是一种用于快速查询和检索数据的数据结构,其本质可以看成是一种排序好的数据结构。 索引的作用就相当于书的目录。…

(Netty)Handler Pipeline

Handler & Pipeline ChannelHandler 用来处理 Channel 上的各种事件,分为入站、出站两种。所有 ChannelHandler 被连成一串,就是 Pipeline 入站处理器通常是 ChannelInboundHandlerAdapter 的子类,主要用来读取客户端数据,写…

【嵌入式处理器】CPU、MPU、MCU、DSP、SoC、SiP的联系与区别

1、CPU(Central Processing Unit) CPU(Central Processing Unit),是一台计算机的运算核心和控制核心。CPU由运算器、控制器和寄存器及实现它们之间联系的数据、控制及状态的总线构成。众所周知的三级流水线:取址、译码、执行的对象就是CPU,差…

重学Android之View——TabLayoutMediator解析

重学Android之View——TabLayoutMediator解析 1.前言 在使用TabLayoutViewPager2Fragment的时候,查询别人的使用例子,看到了 TabLayoutMediator这个类,撰写此文,仅当学习思考,本文是在引用material:1.7.0的版本基础…