当前位置: 首页 > 编程日记 > 正文

Docker在Ubuntu16.04和Windows10家庭版上安装操作步骤

之前在 https://blog.csdn.net/fengbingchun/article/details/109559500 中对Docker作了简单的介绍,这里介绍下Docker在Ubuntu16.04 x86_64 64位上和Windows10 x86_64 64位家庭版上的安装过程。

在Ubuntu上安装Docker(或Docker引擎),Ubuntu必须是64位的,最新版的Docker 19.03.13仅支持Ubuntu版本为16.04、18.04、20.04。在Ubuntu上安装Docker可以有三种方法:(1).通过Docker仓库;(2).通过下载.deb文件;(3).通过脚本。这里介绍第一种方法的安装。

如果在Windows10非家庭版(专业版、企业版或教育版)上安装Docker(或Docker引擎),则要求:(1).Windows10版本号为16299及以上;(2).必须开启Hyper-V和容器特性;(3).具有二级地址转换的64位处理器(64 bit processor with Second Level Address Translation (SLAT));(4).系统内存不能低于4GB;(5).必须在BIOS设置中启用BIOS级硬件虚拟化支持。

如果在Widnows10是家庭版上安装Docker(或Docker引擎),则要求:(1).Windows10版本号为1903及以上;(2).在Windows10上启用WSL(Windows Subsystem for Linux) 2功能;(3).具有二级地址转换的64位处理器;(4).系统内存不能低于4GB;(5).必须在BIOS设置中启用BIOS级硬件虚拟化支持。

在Windows10 64位家庭版上安装WSL 2操作步骤:

(1).启用适用于Linux的Windows子系统,以管理员身份打开Windows PowerShell,并执行以下命令:

dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

(2).启用虚拟机功能,以管理员身份打开Windows PowerShell,并执行以下命令:

dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

(3).重启电脑;

(4).从https://docs.microsoft.com/zh-cn/windows/wsl/install-win10下载Linux内核更新包wsl_update_x64.msi并安装;

(5).将WSL 2设置为默认版本,打开PowerShell,并执行以下命令:

wsl --set-default-version 2

1. 在Ubuntu16.04 64位虚拟机上安装Docker:

(1).若本机已安装过旧版本的Docker,应先卸载旧版本,执行如下命令卸载:

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

执行上面命令后/var/lib/docker目录下的内容,包括镜像、容器、卷和网络等文件还存在,如果不需要保存现有的这些数据,并且希望以全新安装开始,需继续执行以下命令:

sudo apt-get purge docker-ce docker-ce-cli containerd.io
sudo rm -rf /var/lib/docker

(2).设置Docker仓库(repository),执行如下命令:

sudo apt-get update
sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common

(3).添加Docker官方GPG密钥,执行如下命令:

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

(4).设置稳定仓库(stable repository),即添加稳定版本的Docker APT镜像源,执行如下命令:

sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"

(5).安装Docker引擎,依次执行如下命令:

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

(6).验证Docker引擎是否已正确安装,执行如下命令,执行结果如下图所示,说明已正确安装Docker引擎:

sudo docker run hello-world

(7).如果你想以非root用户身份使用Docker,则需要建立docker用户组,并将当前用户加入docker组,执行如下命令,注销并重新登录才会生效:

sudo groupadd docker
sudo usermod -aG docker $USER

注:如果使用Docker官方源https://download.docker.com/linux/ubuntu下载慢,可以将其换成国内源,如将以上第3步和第4步中的https://download.docker.com/linux/ubuntu,全部替换成https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/即可。

2. 在Windows10 64位家庭版上安装Docker:

(1).在Windows10 64位家庭版上安装WSL 2;

(2).从https://hub.docker.com/editions/community/docker-ce-desktop-windows/中下载stable版的Docker Desktop Installer.exe;

(3).双击安装Docker Desktop Installer.exe,要勾选"启用WSL 2功能"选项;

(4).重启或注销电脑;

(5).双击"Docker Desktop"启动Docker;

(6).以管理员身份打开Windows PowerShell,输入命令"docker version",执行结果如下:

(7).验证Docker引擎是否已正确安装,执行命令"docker run hello-world",执行结果如下图所示,说明已正确安装Docker引擎:

相关文章:

iOS 不同机型屏幕适配

// .pch 文件中写 // 判断是iPhone机型 /** 4s 960 * 640* 5/5s 1136 x 640* 6/6s/7/8 4.7英寸 1334 x 750* 6p/6sp/7p/8p 5.5英寸 1920 x 1080* X 5.8英寸 2436 x 1125}*/ #define IS_IPHONE_4s [UIScreen instancesRespondToSelector:selector(currentMode)] ? \ CGSizeEqua…

北京中天荣泰视觉检测 仿真

www.romtek.cnhttp://jobs.zhaopin.com/191485013250433.htm?ssidkeyy&ff01&ss101转载于:https://www.cnblogs.com/pengkunfan/p/4316018.html

Docker客户端常用命令整理

之前在 https://blog.csdn.net/fengbingchun/article/details/109584460 中介绍过在Windows10家庭版和Ubuntu16.04上安装Docker的操作步骤,这里整理下Docker客户端常用命令。 在Windows10家庭版上运行Docker后,通过VMware就不能打开Ubuntu16.04虚拟机了…

深度学习入门笔记,三流程序员如何凭借实力逆袭高薪?你不服不行!

最近经常有朋友提及,想要入门深度学习,该如何学习?关于深度学习,网上的资料很多,不过貌似大部分都不太适合初学者。 我曾经是一名三流程序员,每天的工作内容就是在前人留下的 bug 上写新的bug,我…

Swift编程语言

The Swift Programming Language中文手册1.【精校版】The Swift Programming Language--欢迎使用Swift--关于Swift2.【精校版】The Swift Programming Language-欢迎使用Swift-Swift 初见3.The Swift Programming Language--语言指南--基础部分4.The Swift Programming Languag…

ondblog 修改informix日志模式

-N No Logging 没有日志-U Unbuffered Logging 非缓冲日志-B Buffered Logging 缓冲日志-A Unbuffered Logging, Mode ANSI ANSI模式No Logging 没有日志----“没有日志”模式只向逻辑日志写很少的信息,它只记录执行的DDL语句,这些语句影响到的行并…

iOS RunLoop详解

一、简介 CFRunLoopRef源码RunLoop是一个对象,这个对象在循环中用来处理程序运行过程中出现的各种事件(比如说触摸事件、UI刷新事件、定时器事件、Selector事件),从而保持程序的持续运行;而且在没有事件处理的时候&…

开源库jemalloc简介

jemalloc是通用的malloc(3)实现,它强调避免碎片和可扩展的并发支持。它的源码位于https://github.com/jemalloc/jemalloc,最新稳定版本为5.2.1。 glibc的内存分配算法是基于dlmalloc实现的ptmalloc;tcmalloc是Google开发的内存分配器&#x…

改善深度学习训练的trick总结 | CSDN博文精选

扫码参与CSDN“原力计划”作者 | ZesenChen来源 | CSDN博客精选在深度学习中,同样一个模型用不同的初始化,数据处理,batch size,学习率,优化器都能得到不同性能的参数。我根据自己参与过的比赛中经常用到的一些trick进…

jQuery中的Ajax----03

为什么80%的码农都做不了架构师?>>> $.ajax(0方式是jQuery最底层的Ajax实现。 它的结构为: $.ajax(options) 该方法只有1个参数,但在这个对象里包含了$.ajax()方法所需要的请求设置以及回调函数等信息。参数以key/value的形式存在&#xff0…

Docker容器中数据两种持久化存储方式:卷和挂载宿主目录

镜像使用的是分层存储,容器也是如此。每一个容器运行时,是以镜像为基础层,在其上创建一个当前容器的存储层,我们可以称这个为容器运行时读写而准备的存储层为容器存储层。容器存储层的生存周期和容器一样,容器消亡时&a…

CFRunLoopRef 的内部逻辑(向 ibireme学习)

据苹果在文档里的说明,RunLoop 内部的逻辑大致如下:/// 用DefaultMode启动 void CFRunLoopRun(void) {CFRunLoopRunSpecific(CFRunLoopGetCurrent(), kCFRunLoopDefaultMode, 1.0e10, false); }/// 用指定的Mode启动,允许设置RunLoop超时时间 int CFRunL…

倒计时 3 天!「2019 嵌入式智能国际大会」全日程大公开!

立即抢购:https://t.csdnimg.cn/otBk还有3天,大伙期待的「2019嵌入式智能国际大会」正式开幕了!2019年12月6日-7日,我们在深圳市人才研修院见!大会以“万物互联泛在智能”为主题,邀请30位海内外顶级专家作为…

Fckeditor PHP/ASP File Upload Vul

目录 1. 漏洞描述 2. 漏洞触发条件 3. 漏洞影响范围 4. 漏洞代码分析 5. 防御方法 6. 攻防思考 1. 漏洞描述 FCKeditor是目前最优秀的可见即可得网页编辑器之一,它采用JavaScript编写。具备功能强大、配置容易、跨浏览器、支持多种编程语言、开源等特点。它非常流行…

iOS App上架流程(2016详细版),真心很详细。

一、前言:作为一名iOSer,把开发出来的App上传到App Store是必要的。下面就来详细讲解一下具体流程步骤。二、准备:一个已付费的开发者账号(账号类型分为个人(Individual)、公司(Company&#xf…

飞机的“黑色十分钟”能被人工智能消灭吗?

【导读】近年来,“AI的应用和落地”逐渐成了具化的关键词,它和很多事物很多行业结合在一起,形成了奇妙的“化学反应”。例如,在日常生活中,AI可以推送我们喜欢的新闻或视频,可以在拍照的时候识别场景提升照…

Jenkins简介及在Windows上的简单使用示例

Jenkins是一款开源CI(Continuous Integration,持续集成)&CD(Continuous Delivery,持续交付)软件,用于自动化各种任务,包括构建、测试和部署软件,源码在https://github.com/jenkinsci/jenkins ,License为…

IOS开发之数据sqlite使用

一、引入工具包引入工具包libsqlite3.dylib,该工具包为C语言工具包。 二、代码操作数据库1、创建并且链接数据库 - (void) _connectDB{//1>获取沙盒路径作为数据库创建时候的初始化路径NSString * pathNSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDom…

通过Dockerfile构建Docker镜像

Dockerfile是一个文本文件,其内包含了一条条的指令(Instruction),每一条指令构建一层,因此每一条指令的内容,就是描述该层应当如何构建. Dockerfile支持Shell类的行尾添加"\"的命令换行方式,以及行首"#"进行注释的格式. 使用Dockerfile构建Docker镜像时注…

华为腾讯百度众安微众360大咖齐聚,2019中国区块链开发者大会首批议程曝光!...

作者 | Aholiab出品 | 区块链大本营(blockchain_camp)随着区块链被定义为国家战略,区块链技术得到升温。据有关国际研究机构预测,三年后全球区块链市场规模将达到139.6亿美元(约合986.23亿元人民币)&#x…

iOS GCD使用

dispatch_queue_t queue dispatch_queue_create("testQueue", DISPATCH_QUEUE_CONCURRENT); dispatch_async(queue, ^{ // 追加任务1[self.hud show:YES];for (int i 0; i < 2; i) { [NSThread sleepForTimeInterval:2]; // 模拟耗时操作[self reqHopwork];} })…

01 http协议概念及工作流程

一&#xff1a;HTTP协议 重要性: 无论是以后用webserverice ,还是用rest做大型架构,都离不开对HTTP协议的认识. 甚至可以简化的说: webservice http协议XML Rest HTTP协议 json 各种API,也一般是用httpXML/json来实现的. 往小说:做采集,小偷站,也需要对HTTP协议有所了解, 以…

iOS原生与html交互 使用第三方WebViewJavascriptBridge

HTML页面代码 <!DOCTYPE html><html xmlns:http"http://www.w3.org/1999/xhtml"><head> <meta charset"utf-8"> <title>迎新好礼</title> <meta name"viewport" content"widthdevice-width,initial…

Docker容器中挂载NFS共享目录

之前在https://blog.csdn.net/fengbingchun/article/details/110561129 介绍过使用Dockerfile构建ubuntu 16.04镜像,并在容器中编译执行Messy_Test项目.这里介绍下如何在容器中挂载NFS服务器上的共享目录. Dockerfile内容如下&#xff1a; FROM ubuntu:16.04 LABEL maintaine…

倒计时1天 | 2019 中国大数据技术大会(BDTC)报名通道即将关闭(附参会提醒)...

2019年12月5-7日&#xff0c;由中国计算机学会主办&#xff0c;CCF 大数据专家委员会承办&#xff0c;CSDN、中科天玑数据科技股份有限公司协办的中国大数据技术大会&#xff08;BDTC 2019&#xff09;将于北京长城饭店隆重举行。届时&#xff0c;超过百位顶尖技术专家将齐聚于…

Android TextView的一些小知识

2019独角兽企业重金招聘Python工程师标准>>> 1.设置文字行距 android:lineSpacingExtra"8dp" 或者 android:lineSpacingMultiplier"1.5" 2.设置字间距 在API21里可以设置 API 21 android:letterSpacing"0.5f" //字间距 注意&#x…

iOS WKWebView带进度条封装(只用传入url,可改变进度条颜色)

1 NSTimeraddition.h #import <Foundation/Foundation.h> interface NSTimer (addition) /** 暂停时间 */ - (void)w_pauseTime; /** 获取内容所在当前时间 */ - (void)w_webPageTime; /** 当前时间 time 秒后的时间 */ - (void)w_webPageTimeWithTimeInterval:(NSTimeIn…

Ubuntu上配置VS Code调试C++

直接使用GDB在Ubuntu上调试C code&#xff0c;有时不是很方便&#xff0c;这里介绍下在Ubuntu上通过Visual Studio Code调试C code操作步骤&#xff0c;通过CMake编译。 安装所需依赖&#xff1a; (1).在Ubuntu上安装Visual Studio Code最新稳定版本1.51.1&#xff1b; (2).…

因果关系是通向强AI的阶梯or作用被夸大?

整理 | 夕颜出品 | AI科技大本营&#xff08;ID:rgznai100&#xff09;一直以来&#xff0c;机器学习和统计学之间的界限就比较模糊&#xff0c;比如诺奖得主托马斯萨金特就曾经说过人工智能其实就是统计学&#xff0c;只不过用了一个很华丽的辞藻。但同时也有人认为&#xff0…

Android中设置TextView的颜色setTextColor

tv.setTextColor(Color.parseColor("#FFFFFF")); tv.setTextColor(Color.WHITE); tv.setTextColor(Color.rgb(255, 255, 255)); //注意Color是大写C&#xff0c;不是color.holo_orange_dark,这样错误并没效果的 tv.setBackgroundResource(R.drawable.icon_bg_rectan…