Docker最全教程之Ubuntu下安装Docker(十五)

前言

Ubuntu是一个以桌面应用为主的开源GNU/Linux操作系统,应用很广。本篇主要讲述Ubuntu下使用SSH远程登录并安装Docker,并且提供了Docker安装的两种方式,希望对大家有所帮助。

拥抱Linux,大家可以从Ubuntu开始!


640640?wx_fmt=png


Ubuntu下安装Docker


首先我们需要准备一个Ubuntu的环境。这里笔者推荐使用Hyper-V来快速安装Ubuntu。


使用Hyper-V快速安装Ubuntu


这里笔者推荐使用Hyper-V快速安装Ubuntu,如果已知晓或者已准备好Ubuntu系统的可以跳过此节。

注意

如果C盘空间有限,在创建之前,请修改默认的Hyper-V设置中的虚拟硬盘和虚拟机的位置。


首先,我们需要打开Hyper-V管理器:

640?wx_fmt=jpeg

然后点击右侧的【快速创建】,并在弹出的界面中选【Ubuntu】:

640?wx_fmt=jpeg


最后,点击创建虚拟机,Hyper-V管理器就会进行自动下载镜像并进行安装,如果已下载,则会从存档文件中获取并创建:

640?wx_fmt=jpeg

 

创建完成后如图所示:

640?wx_fmt=jpeg


安装完成后,我们就可以连接刚安装好的Ubuntu系统了(第一次启动需要点时间):

640?wx_fmt=jpeg


接下来就可以按照引导界面来完成系统设置,进入系统主界面了:

640?wx_fmt=jpeg


配置外网


接下来安装Docker我们需要配置外网。如果无法访问外网,我们需要配置Hyper-V的虚拟交换机。

首先,我们需要在Hyper-V管理器打开【虚拟交换机管理器】:

640?wx_fmt=jpeg


点开后,我们点击【新建虚拟网络交换机】,创建一个外部虚拟交换机:

640?wx_fmt=jpeg

640?wx_fmt=jpeg

 

虚拟交换机创建完成后,我们需要设置虚拟机的网络适配器为刚才所创建的交换机:

640?wx_fmt=jpeg

 

设置完成后,我们连接并进入系统,使用自带的火狐浏览器打开百度进行确认:

640?wx_fmt=jpeg


使用SSH远程Ubuntu


SSH是一种网络协议,用于计算机之间的加密登录。

在Linux系统的操作上,SSH的使用是必备技能。在往后的Docker管理和操作方面,我们也离不开它。


ubuntu开启SSH服务


整个过程比较简单,主要分为以下步骤:

1. 进入ubuntu操作系统,打开Terminal:

640?wx_fmt=jpeg


2. 输入“sudo su”,切换到root账户

640?wx_fmt=jpeg 

3. 安装openssh-server

OpenSSH是Secure Shell(SSH)协议工具的免费版本,用于远程控制或在计算机之间传输文件。OpenSSH提供服务器守护程序和客户端工具,以促进安全,加密的远程控制和文件传输操作,有效地取代传统工具。


输入“apt-get install openssh-server”进行安装:

640?wx_fmt=jpeg

 

ssh-server配置文件位于/ etc/ssh/sshd_config,我们可以在此定义SSH的服务端口,默认端口22

同时,我们可以用以下命令来停止和启动SSH:

/etc/init.d/ssh stop

/etc/init.d/ssh start

如何判断ssh-server正常启动,可以使用以下命令:

ps -e |grep ssh

 

640?wx_fmt=jpeg

如上图所示,由于OpenSSH使用sshd来持续监听来自任何客户端工具的客户端连接,当发生连接请求时,sshd会根据连接的客户端工具的类型设置正确的连接。因此进程中存在sshd则表示正常启动。


使用SSH远程登录


这里我们使用windows 10操作系统进行演示。

1. 安装ssh客户端,这里我们使用PuTTY。因为免费。

下载地址

https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html

 

2. 接下来,我们使用账户进行SSH远程登录。

a) 获取服务端IP,可通过右上角的网络图标查看:

640?wx_fmt=png

 

b) 打开命令窗口或者powershell窗口

640?wx_fmt=jpeg

 

c) 输入ssh命令进行登录。

ssh可以通过账号、公钥登录,这里我们使用账号登录:

ssh test@172.16.3.27

640?wx_fmt=jpeg如果不是使用默认端口,则需使用-p参数指定端口。登录成功之后如上图所示,注意输入密码时键盘键入内容不会有任何显示或掩码提示。连接完成后,我们真的就可以为所欲为了。比如安装Docker。


安装Docker


Docker在Linux环境下的安装推荐以下两种方式:


使用存储库安装


1. 切换到root账户(为了安装方便)

640?wx_fmt=jpeg

 

2. 更新apt包索引

apt-get update

 

3. 允许apt通过HTTPS安装

apt-get install \

    apt-transport-https \

    ca-certificates \

    curl \

    gnupg-agent \

software-properties-common

640?wx_fmt=jpeg

  

4. 添加Docker的官方GPG密钥:

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

 

apt-key fingerprint 0EBFCD88

 

5. 设置稳定存储库

add-apt-repository \

   "deb [arch=amd64] https://download.docker.com/linux/ubuntu \

   $(lsb_release -cs) \

   stable"

注意

lsb_release -cs子命令返回Ubuntu发行版的名称


6. 更新apt包索引

apt-get update

 

7. 安装最新版本的Docker CE和containerd

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

 

注意

通过以下命令可以安装特定版本:

apt-get install docker-ce=<VERSION_STRING> docker-ce-cli=<VERSION_STRING> containerd.io


8. 按照我行行情,开始附加高级魔法,运行hello world!

docker run hello-world

 

640?wx_fmt=jpeg


使用快捷脚本安装


可以使用以下命令清除旧版本或者之前的安装:

apt-get remove docker-ce docker-ce-cli containerd.io docker docker-engine docker.io containerd runc

 

1. 切换到root账户(为了安装方便)

sudo su

2. 使用便捷脚本安装

Docker在get.docker.com 和test.docker.com上提供了便捷脚本,用于快速,非交互地将Docker CE的边缘和测试版本安装到开发环境中。脚本的源代码位于 docker-install存储库中。

注意

  • 尽量不要在生产环境使用这些脚本

  • 脚本需要root或sudo权限才能运行。因此,在运行脚本之前,应仔细检查和审核脚本。

  • 这些脚本会尝试检测您的Linux发行版和版本,并为您配置包管理系统。此外,脚本不允许您自定义任何安装参数。

  • 脚本安装包管理器的所有依赖项和建议,而不要求确认。这可能会安装大量软件包,具体取决于主机的当前配置。

  • 脚本默认安装Docker的最新版本。



a) 允许apt通过HTTPS安装

 

apt-get install \

    apt-transport-https \

    ca-certificates \

    curl \

    gnupg-agent \

software-properties-common

 

640?wx_fmt=png


b) 下载Docker安装的便捷脚本,然后执行

curl -fsSL https://get.docker.com -o get-docker.sh

sh get-docker.sh

640?wx_fmt=jpeg


往期文章一览

Docker最全教程——从理论到实战(一)

Docker最全教程——从理论到实战(二)

Docker最全教程——从理论到实战(三)

Docker最全教程——从理论到实战(四)

Docker最全教程——从理论到实战(五)

Docker最全教程——从理论到实战(六)

Docker最全教程——从理论到实战(七)

Docker最全教程——从理论到实战(八)    

Docker最全教程——从理论到实战(九)

Docker最全教程之使用Tencent Hub来完成CI(十)
Docker最全教程——数据库容器化(十一)
Docker最全教程——数据库容器化之持久保存数据(十二)
Docker最全教程——MongoDB容器化(十三)
Docker最全教程——Redis容器化以及排行榜实战(十四)



640?wx_fmt=png转载是一种动力 分享是一种美德640?wx_fmt=gif

如果喜欢作者的文章,请关注“magiccodes”订阅号以便第一时间获得最新内容。本文版权归作者和湖南心莱信息科技有限公司共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。


QQ群:

编程交流群<85318032> 

产品交流群<897857351>


640?wx_fmt=png640?wx_fmt=jpeg

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

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

相关文章

潘淳(寒树Office):不务正业的公众号满月了,都写了些啥?

三喜临门一 喜今天真是个好日子&#xff0c;“流浪太阳”又回来了&#xff0c;阴雨绵绵长恨无期&#xff0c;今天苏州终于天晴&#xff0c;于是心情大好&#xff01;都说好心情会带来好运气&#xff0c;冥冥感觉要写点啥了&#xff0c;果不其然今天还有另外两喜。大早起来得…

G List it all

传送 题意&#xff1a; 题解&#xff1a; 我们来考虑以下样例&#xff1a;1&#xff0c;1&#xff0c;2 我们先考虑1的贡献&#xff1a;如图(图中只花了) 2&#xff01;表示还剩两个空位&#xff0c;还有两个数未填入&#xff0c;所以是2&#xff01;个 对于n个数重复&#x…

ASP.NET Core 实战:基于 Dapper 扩展你的数据访问方法

一、前言在非静态页面的项目开发中&#xff0c;必定会涉及到对于数据库的访问&#xff0c;最开始呢&#xff0c;我们使用 Ado.Net&#xff0c;通过编写 SQL 帮助类帮我们实现对于数据库的快速访问&#xff0c;后来&#xff0c;ORM&#xff08;Object Relational Mapping&#x…

微软发布 Visual Studio 2019年第二季度路线图

微软近日发布了 Visual Studio 2019 年第二季度的路线图&#xff0c;路线图介绍了目前 VS 致力于在 VS 2019 发布的一些重要功能。官方表示&#xff0c;Visual Studio 2019 将继续按照 Visual Studio 发行周期流程提供更新&#xff0c;也就是约每 6 周推出一次次要更新&#xf…

李争——一个骨子里是极客的程序员

我的业余作品《IT 英雄传》&#xff0c;聚焦身边的英雄&#xff0c;以文字采访的形式记录奇人趣事&#xff0c;笑看风云变幻。所写的人都是我见过面且比较熟悉的&#xff0c;绝大部分都是交往很久的&#xff0c;其中为了避嫌&#xff0c;我很少写微软同事&#xff0c;但今天这一…

仅此一文让你明白事务隔离级别、脏读、不可重复读、幻读

网络上关于这方面的博文有些偏理论&#xff0c;有些通篇代码&#xff0c;都不能深入浅出。本文用图文并茂的方式&#xff0c;配上行云流水般的代码&#xff0c;非要摆清楚这个问题。相关代码已提交至码云&#xff08;点击这里下载&#xff09;。事务是现代关系型数据库的核心之…

2.5:模拟总结

文章目录前言考场题目解析T1T2T3总结代码T1T2T3前言 50pts 30020 rnk19 … 把1000ms看成10s我也真是个人才。 T3自然溢出50带模数T成20有点离谱。 但倒没有因为WA失分。 就是菜罢了 考场 这次时间管理还是比较合理的。 乍看三题觉得T1似乎是个伞兵题 这离线下来可持久化数组…

Meeting HDU - 5521

Meeting HDU - 5521 题意&#xff1a; 一共有n个点&#xff0c;有m个块&#xff0c;每个块内有Si个点&#xff0c;块内点彼此到达费用为wi&#xff0c;两个人分别位于1和n号块&#xff0c;两者同时出发问最短时间遇到是多少&#xff1f;在哪些地方可以遇到&#xff1f; ΣSi&…

牛客IOI周赛26-提高组(逆序对,对序列,未曾设想的道路) 题解

文章目录逆序对对序列未曾设想的道路牛客IOI周赛26-提高组逆序对 这种套路之前已经见过几次了&#xff0c;肯定不是模拟操作数列 opt 1 对于i∈[1,l)⋃(r,n]i∈[1,l)\bigcup(r,n]i∈[1,l)⋃(r,n] 逆序对是不影响的 对于i∈(l,r)i∈(l,r)i∈(l,r) 与l/rl/rl/r的情况会反转&…

Frogs HDU - 5514

Frogs HDU - 5514 题意&#xff1a; 有n个青蛙&#xff0c;第 i 个青蛙每次只能够跳 ai​步&#xff0c;现在有m个石头围成一圈&#xff0c;编号为0到m−1&#xff0c;现在青蛙可以围着这个石头组成的圆跳无限次&#xff0c;每跳一次就会占领这个石头&#xff0c;可以无限占领…

Docker最全教程之树莓派和Docker(十六)

前言树莓派&#xff08;Raspberry Pi&#xff09;是一台卡片电脑&#xff08;只有信用卡大小&#xff09;&#xff0c;我们可以使用树莓派做很多事情&#xff0c;比如智能家居的中控、航空器、BT下载器、挖矿机、智能机器人、小型服务器&#xff08;花生壳网站&#xff09;等等…

【NET CORE微服务一条龙应用】第三章 认证授权与动态权限配置

介绍系列目录&#xff1a;【NET CORE微服务一条龙应用】开始篇与目录在微服务的应用中&#xff0c;统一的认证授权是必不可少的组件&#xff0c;本文将介绍微服务中网关和子服务如何使用统一的权限认证主要介绍内容为&#xff1a;1、子服务如何实现和网关相同的鉴权方式2、接口…

WebApiClient与Asp.net core DI的结合

1 WebApiClient一款基于HttpClient封装&#xff0c;只需要定义c#接口并修饰相关特性&#xff0c;即可异步调用远程http接口的客户端库WebApiClientWebApiClient.ExtensionsWebApiClient.Tools2 Http接口的注册与提供2.1 声明远程端http接口public interface IBaiduApi : IHttpA…

梁迪:源于热爱乐于分享,MVP代表圆桌会议

梁迪《MVP代表圆桌会议》MVP代表圆桌会议&#xff0c;源于热爱乐于分享。来自全国的MVP&#xff08;周岳、苏震巍、蒋金楠、胡浩、卿毅、项斌、刘浩杨、施兆熊、方洁影、方骥、刘鑫、童广林&#xff09;作经验交流。梁 迪微软最有价值专家&#xff08;MVP&#xff09;项目大…

基于xlua和mvvm的unity框架

1、框架简介这两天在Github上发现了xlua的作者车雄生前辈开源的一个框架—XUUI&#xff0c;于是下载下来学习了一下。XUUI基于xlua&#xff0c;又借鉴了mvvm的设计概念。xlua是目前很火的unity热更方案&#xff0c;不仅支持纯lua脚本热更&#xff0c;也可以做 C# 代码的bug hot…

如何在ASP.NET Core中使用JSON Patch

原文&#xff1a; JSON Patch With ASP.NET Core作者&#xff1a;.NET Core Tutorials译文&#xff1a;如何在ASP.NET Core中使用JSON Patch地址&#xff1a;https://www.cnblogs.com/lwqlun/p/10433615.html译者&#xff1a;Lamond LuJSON Patch是一种使用API显式更新文档的方…

.NET Core RSA密钥的xml、pkcs1、pkcs8格式转换和JavaScript、Java等语言进行对接

众所周知在.NET下的RSA类所生成的密钥为Xml格式&#xff0c;而其他语言比如java一般使用pkcs8格式的密钥&#xff0c;JavaScript一般使用pkcs1格式。我们在开发过程中很可能遇到需要与其他语言开发的api进行对接&#xff0c;如果遇到RSA加密解密&#xff0c;我们肯定需要保证ke…

ABP VNext 微服务演示,项目状态和路线图

在ABP vNext上的第一个公告之后,我们对代码库进行了很多改进(GitHub存储库上的1100多次提交).我们已经创建了功能,示例,文档等等.在这篇文章中,我想告诉你一些新闻和项目的状态.ABP微服务演示解决方案ABP框架的主要目标之一是提供创建微服务解决方案的便利基础设施.我们一直在努…

[aspnetcore.apidoc]一款很不错的api文档生成工具

简单徐速一下为什么选用了aspnetcore.apidoc 而没有选用swagger最初我们也有在试用swagger&#xff0c;但总是有些感觉&#xff0c;感觉有点不满意&#xff0c;就但从api文档角度来说&#xff0c;从前后端文档沟通角度来讲apidoc的表现形式&#xff0c;要比swagger简单的多&…

Acwing1069. 凸多边形的划分

Acwing1069. 凸多边形的划分 题意&#xff1a; 一个N个顶点的凸多边形&#xff0c;划分成N-2个互不相交的三角形&#xff0c;对于每个三角形&#xff0c;其三个顶点的权值相乘都可得到一个权值乘积&#xff0c;试求所有三角形的顶点权值乘积之和至少为多少。 题解&#xff1…