Ubuntu17.10安装Docker
Ubuntu环境下安装Docker
1. 系统要求
Docker目前只能运行在64位平台上,并且要求内核版本不低于3.10,实际上内核越新越好,过低的内核版本容易造成功能不稳定。
可以通过如下命令检查自己的内核版本详细信息:
$ uname -a

或者
$ cat /proc/version

Docker目前支持的最低Ubuntu版本为12.04LTS,但实际上从稳定性上考虑,推荐至少使用14.04LTS版本
查看Ubuntu版本号命令为
$ lsb_release -r

查看Ubuntu代号命令为
$ lsb_release -c

不同Ubuntu版本号及代号如下
Artful 17.10 (Docker CE 17.11 Edge)、Zesty 17.04、Xenial 16.04 (LTS)、Wily 15.10、Vivid 15.04、Trusty 14.04 (LTS)、Precise 12.04(LTS)
如果使用12.04LTS版本,首先要更新系统内核和安装可能需要的软件包,包括:
linux-image-generic-lts-trusty(必备)
linux-headers-generic-lts-trusty(必备)
xserver-xorg-lts-trusty(带图形界面时必备)
libgll-mesa-glx-lts-trusty(带图形界面时必备)
另外,从 Ubuntu 14.04 开始,一部分内核模块移到了可选内核模块包 (linux-image-extra-*) ,以减少内核软件包的体积。正常安装的系统应该会包含可选内核模块包,而一些裁剪后的系统可能会将其精简掉。AUFS 内核驱动属于可选内核模块的一部分,为了让Docker使用aufs存储,推荐安装linux-iamge-extra软件包。
$ sudo apt-get insall -y linux-image-extra-$(uname -r)
2. 添加镜像源
正式操作前建议先更新一下apt 的缓存,尤其是安装完Ubuntu之后第一次运行
$ sudo apt-get update
首先需要安装apt-transport-https包支持HTTPS协议的源,以及CA证书:
$ sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
software-properties-common

其次添加源的gpg密钥:
国内源地址
$ curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
官方源地址
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

再次添加Docker的apt软件源:
可以使用如下命令添加apt软件源
国内源:
$ sudo add-apt-repository \
"deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu \
$(lsb_release -cs) \
stable"
官方源:
$ sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"

另外,《Docker技术入门与实战》第2版中的方法是通过下面的命令创建/etc/apt/sources.list.d/docker.list文件,并写入源地址内容,注意修改自己系统对应的代号。书中安装的trusty版本,我想安装artful版本。
$ sudo cat <<EOF > /etc/apt/sources.list.d/docker.list
> deb https://apt.dockerproject.org/repo ubuntu-atrful main
> EOF
然而在下面的一步更新apt软件包缓存时出错,访问上述https地址出错,报403 Forbidden错。后来进入上面的地址查看,发现上面地址最晚更新时间为2017年,最新版本为ubuntu-xenial,并没有artful版本。因此Ubuntu系统为16.04及以下的可以使用该方法。

最后,添加完Docker源,更新apt软件包缓存
$ sudo apt-get update

还可以使用如下命令来查看有哪些版本的Docker可以使用
$ apt-cache policy docker-ce
或
$ apt-cache policy docker-engine

注意,2017年的3月1号之后,Docker的版本命名开始发生变化,同时将CE版本和EE版本进行分开,CE是社区版,EE是企业版。查看artful版本时,使用docker-ce,而使用docker-engine则查不到。xenial 版本及之前的,还可以使用docker-engine。
3. 开始安装Docker
在成功添加源之后,就可以安装最新版本的docker了,artful及之后版本使用docker-ce,xenial及之前版本使用docker-engine。
$ sudo apt-get install docker-ce
或
$ sudo apt-get install docker-engine
如果系统中存在较旧版本的Docker,会提示是否先删除,选择“是”即可。
另外,还可以使用脚本自动安装
在测试或开发环境中 Docker 官方为了简化安装流程,提供了一套便捷的安装脚本,Ubuntu 系统上可以使用这套脚本安装:
$ curl -fsSL get.docker.com -o get-docker.sh
$ sudo sh get-docker.sh --mirror Aliyun
执行这个命令后,脚本就会自动的将一切准备工作做好,并且把 Docker CE 的 Edge 版本安装在系统中。
4. 启动 Docker CE
$ sudo systemctl enable docker
$ sudo systemctl start docker

Ubuntu 14.04 请使用以下命令启动,atrful版本无法使用以下命令:
$ sudo service docker start
5. 验证Docker是否安装成功
运行如下命令,Docker会下载一个镜像,并运行在一个窗口中,输出信息
$ sudo docker run hello-world

6. 将当前用户添加到安装中自动创建的docker用户组:
$ sudo usermod -aG docker $USER
Ubuntu17.10安装Docker的更多相关文章
- Windows 10 安装 Docker for Windows
Docker for Windows是Docker社区版(CE)应用程序. Docker for Windows安装包包括在Windows系统上运行Docker所需的一切. 本主题介绍了预安装注意事项 ...
- windows 10安装docker一直挂起在Installing Components and Removing Files
碰到这个问题百度了好久都没有找到解决方式,什么用管理员方式运行,给文件夹权限啊,都不好使. 后面在bing上面搜docker install compoents关键字找到一条结果,如下如 点进链接,内 ...
- ubuntu17.10安装LAMP并测试部署php探针系统
ubuntu17.10修改密码以及安装LAMP并部署php探针系统 步骤1:ubuntu17.10配置IP (这个版本配置IP方式改变较大,apt-get upgrade更新至最新以前配置方式也可以用 ...
- ubuntu17.10 安装CUDA
1. 更新apt-get源列表 sudo apt-get update sudo apt-get upgrade 2. 添加驱动源 sudo add-apt-repository ppa:graphi ...
- ubuntu17.10安装lnmp安装包的核心问题-gcc版本、g++版本
大致碰到的问题都是这样,不是php安装失败,就是MySQL安装失败,或者Nginx也安装失败 基本上是花式报错.后来在军哥的论坛中找到了这个帖子:https://bbs.vpser.net/viewt ...
- Windows 10 安装 Docker
下载Docker For Windows 地址:https://download.docker.com/win/stable/Docker%20for%20Windows%20Installer.ex ...
- Windows 10安装Docker 步骤及顺序
最近在工作中,重新安装Docker时,遇到了一点坑,故将自己解决经验分享一下~ Hardware assisted virtualization and data execution protecti ...
- docker学习 (三) Windows 10 安装Docker
Docker CE: 社区版,免费. Docker EE: 企业版,收费. 安装: Windows 10 Pro 64, 必须开启Hyper-v 下载:Docker for W ...
- ubuntu-17.10 安装 FANN
因为想用C语言写神经网络,不用已有的库的话,又太难了,所以准备安装一个夸平台的FANN库, 源文件下载地址http://leenissen.dk/fann/wp/download/,我下载的是最新 ...
随机推荐
- git编译安装
因yum安装的git版本过低,所以尝试使用编译安装git 以下为编译安装时执行的命令 tar xf git-2.9.5.tar.gz cd git-2.9.5yum install curl-deve ...
- HISI VENC 实际输出帧率控制
https://blog.csdn.net/spy_007_/article/details/83688287 平台:HI3516EV100 SDK : Hi3516CV300_SDK_V1.0.2. ...
- springmvc的dispatchservlet初始化
初始化做的事情,处理下controller的映射关系 https://blog.csdn.net/qq_38410730/article/details/79426673
- js 获取url中的参数 修改url 参数 移除url参数
js 获取url中的参数 修改url 参数 移除url参数 var jsUrlHelper = { getUrlParam : function(url, ref) { var str = " ...
- MySQL死锁分析一例
Tomcat日志报死锁错误,show innodb status获取死锁信息: ------------------------ LATEST DETECTED DEADLOCK ---------- ...
- 用c语言创建双向环形链表
作为一个C开发人员,无论在求职笔试题中,还是在工程项目中,都会遇到用c语言创建双向环形链表.这个也是理解和使用c指针的一项基本功. #include<...>//头文件省略 typedef ...
- Java 8-Lambda表达式、方法引用、标准函数接口与流操作、管道操作之间的关系
1.Lambda表达式与接口之间的关系 只要Lambda表达式的声明形式与接口相一致,在很多情况下都可以替换接口.见如下代码 Thread t1 = new Thread(new Runnable() ...
- 用EM4305/T5557模拟EM4100的ID卡,原理解释
用EM4305/T5557模拟EM4100,原理解释 来源: https://www.cnblogs.com/osnosn/p/10593297.html 来自osnosn的博客 写于: 2019-0 ...
- LAB1 partIII
partIII 实现 分发MapReduce 任务,实现 schedule() 方法在 mapreduce/schedule.go. schedule()函数的职责是把任务分给可用的worker. s ...
- 【rabbitmq】RabbitMQ 集群与网络分区
网络分区(network partitions) 官网-网络分区 网络设备故障导致的网络分裂.比如,存在A\B\C\D\E五个节点,A\B处于同一子网,B\C\D处于另外一子网,中间通过交换机相连.若 ...