Docker从入门到实战(三)

一:安装Docker

1. linux系统脚本安装

Docker基于linux容器技术,面向服务器端,Docker只能安装运行在64位计算机上(社区有对32位的支持),linux内核版本必须大于3.10,内核小于3.10的系统会因为缺少Docker容器运行所需的功能而有错误。

一键安装脚本

(1)安装稳定版本
curl -sSL https://get.docker.com/ | sh或者wget -qO- https://get.docker.com/ | sh
(2)安装测试版本
curl -fsSL https://test.docker.com/ | sh或者wget -qO- https://test.docker.com/ | sh
(3)安装实验版本
curl -fsSL https://experimental.docker.com/ | sh或者wget -qO- https://experimental.docker.com/ | sh
如果安装时出现如下没有aufs的提示,用户可以安装内核扩展系列(Ubuntu系列)
modprobe:FATAL: Module aufs not found in directory /lib/modules/4.4.0-2-**-amd64
Waring:current kernel is not supported by the linux-image-extra-virtual package.We have no AUFS support. Consider installing the packages linux-image-virtual kernel and linux-image-extra-virtual for AUFS support.

  • sleep 10

sudo apt-get install linux-image-extra-‘uname -r’
或者自己下载aufs编译安装,再或者再等待10秒,安装脚本会使用替代方案安装docker
sudo curl -sSL https://get.docker.com/ | sh

1.1Debian发行版

(1)查看内核版本
uname -r
如果内核版本达不到要求,需要升级内核。目前Debian一般都不用升级内核
sudo apt-get update
sudo apt-get dist-upgrade
sudo reboot
(2)更新APT源
打开一个终端,安装apt-transport-https包,使得APT支持HTTPS协议的源
sudo apt-get update && sudo apt-get install apt-transport-https ca-certificates
添加Docker源的gpg密钥
sudo apt-key adv –keyserver hkp://p80.pool.sks-keyservers.net:80 –recv-keys 58118E89F3A912897C070ADBF76221572C52609D
(3)添加Docker的官方APT软件源
先查看当前操作系统的代号lsb_release -c
sudo vim /etc/apt/sources.list.d/docker.list
Debian Wheezy如下
deb https://apt.dockerproject.org/repo debian-wheezy main
Debian Jessie如下
deb https://apt.dockerproject.org/repo debian-jessie main
Debian Stretch/Sid如下
deb https://apt.dockerproject.org/repo debian-stretch main
注意修改操作系统对应的代号
添加成功后,更新APT软件包缓存
sudo apt-get update
校验软件包缓存结果
apt-cache policy docker-engine
(4) 安装Docker
如果用户以前装过Docker,那么需要完全卸载Docker再安装
apt-get purge "lxc-docker"
apt-get purge "docker.io
"
一切没问题后,执行安装
sudo apt-get instal docker-engine
(5)启动Docker
sudo service docker start
(6)确保Docker运行正常
sudo docker run –-rm hello-world
返回Hello World表示运行正常
(7)为非root用户授权
如果没有Docker用户组就建立一个Docker用户组(默认安装后自动创建)
sudo groupadd docker
增加当前用户到Docker组,需要注销来生效
sudo gpasswd -a ${USER} docker
重启Docker 服务
sudo service docker restart
这样执行Docker命令就不必使用sudo申请权限了

1.2Ubuntu发行版

(1)查看内核版本
uname -r
如果内核版本达不到要求,需要升级内核。
sudo apt-get update
sudo apt-get install -y linux-images-generic-lts-raring linux-headers-generic-lts-raring
sudo reboot
(2)更新APT源
sudo apt-get update && sudo apt-get install apt-transport-https ca-certificates
添加Docker源的gpg密钥
sudo apt-key adv –keyserver hkp://p80.pool.sks-keyservers.net:80 –recv-keys 58118E89F3A912897C070ADBF76221572C52609D
(3)添加Docker的官方APT软件源
先查看当前操作系统的代号lsb_release -c
sudo vim /etc/apt/sources.list.d/docker.list
Ubuntu 14.04(LTS)如下
deb https://apt.dockerproject.org/repo ubuntu-trusty main
Ubuntu 15.10如下
deb https://apt.dockerproject.org/repo ubuntu-wily main
Ubuntu 16.04(LTS)如下
deb https://apt.dockerproject.org/repo ubuntu-xenial main
注意修改操作系统对应的代号
添加成功后,更新APT软件包缓存
sudo apt-get update
校验软件包缓存结果
apt-cache policy docker-engine
(4)安装Docker
安装Docker之前,如果用户使用的是Ubuntu 12.04可以先升级系统
sudo apt-get install linux-image-generic-lts-trusry
sudo reboot
如果用户以前装过Docker,那么需要完全卸载Docker再安装
apt-get purge "lxc-docker"
apt-get purge "docker.io
"
一切没问题后,执行安装
sudo apt-get update
sudo apt-get instal docker-engine
(5)启动Docker
sudo service docker start
(6)确保Docker运行正常
sudo docker run –-rm hello-world
返回Hello World表示运行正常
(7)为非root用户授权
如果没有Docker用户组就建立一个Docker用户组(默认安装后自动创建)
sudo groupadd docker
增加当前用户到Docker组,需要注销来生效
sudo gpasswd -a ${USER} docker
重启Docker 服务
sudo service docker restart
这样执行Docker命令就不必使用sudo申请权限了

1.3CentOS/Fedora发行版

Docker(重新编译自RHEL7)已收录在CentOS-Extras软件库内。用户只需要执行以下安装命令即可。
sudo yum -y install docker
如果用户想使用一个比较新版本的Docker,则有两个选择
(1)使用来自Fedora的组件
sudo tee /etc/yum.repos.d/docker.repo << -‘EOF’
[virt7-docker-fedora-candidate]
name=virt7-docker-fedora-candidate
baseurl=http://cbs.centos.org/repos/virt7-docker-fedora-candidate/x86_64/os/
enabled=1
gpgcheck=0
EOF
(2)使用来自RHEL的组件
sudo tee /etc/yum.repos.d/docker.repo << -‘EOF’
[virt7-docker-el-candidate]
name=birt7-docker-el-candidate
baseurl=http://cbs.centos.org/repos/virt7-docker-el-candidate/x86_64/os/
enabled=1
gpgcheck=0
EOF
注意:在系统上同时启用这两个软件库会混淆来在不同源头的组件而导致无法预知的后果。同时或许需要停用CentOS-Extras,以确保安装的组件是来自虚拟化SIG软件库。
sudo yum -y install docker –-disablerepo=extras
安装Docker后,你必须引导服务才能应用它
sudo systemctl start docker
若要开机引导Docker服务
sudo systemctl enable docker或者sudo chkconfig docker on
在CentOS 6.5上安装Docker需要采用EPEL软件库。启用EPEL后,才能继续以下的安装程序
要在CentOS 6系列上安装Docker,可利用以下指令安装docker-io组件
sudo yum -y install docker-io
如果不能直接安装docker-io,可利用EPEL软件库
rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
yum -y update
安装Docker后,必须引导该服务才能应用它
sudo service docker start
开机时引导Docker服务
sudo chkconfig docker on

2.Linux、Mac、Windows二进制安装

2.1获取Linux二进制包

通过下面的链接来下载最新版本的Linux二进制包
https://get.docker.com/builds/Linux/i386/docker-latest.tgz
https://get.docker.com/builds/Linux/x86_64/docker-latest.tgz
使用下面的链接模式来下载指定版本的Linux二进制包
https://get.docker.com/builds/Linux/i386/docker-<version>.tgz
https://get.docker.com/builds/Linux/x86_64/docker-<version>.tgz
例如:
https://get.docker.com/builds/Linux/i386/docker-1.15.0.tgz
https://get.docker.com/builds/Linux/x86_64/docker-1.15.0.tgz
解压如下
tar -xzvf docker-latest.tgz
安装运行
chmod a+x docker/
mv docker/
 /usr/bin/
sudo docker &

2.2获取Mac OS X二进制包

通过下面的链接来下载最新版本的Mac OS X二进制包
https://get.docker.com/builds/Darwin/x86_64/docker-latest.tgz
使用下面的链接模式来下载指定版本的Mac OS X二进制包
https://get.docker.com/builds/Darwin /x86_64/docker-<version>.tgz
例如:
https://get.docker.com/builds/Darwin /x86_64/docker-1.15.0.tgz

2.3获取Windows二进制包

通过下面的链接来下载最新版本的Windows二进制包
https://get.docker.com/builds/Windows /i386/docker-latest.zip 
https://get.docker.com/builds/Windows/x86_64/docker-latest.zip 
使用下面的链接模式来下载指定版本的Windows二进制包
https://get.docker.com/builds/Windows/i386/docker-<version>.zip 
https://get.docker.com/builds/Windows/x86_64/docker-<version>.zip 
例如:
https://get.docker.com/builds/Windows/i386/docker-1.15.0.zip 
https://get.docker.com/builds/Windows/x86_64/docker-1.15.0.zip

文中所有内容皆为手动敲出来的,难免有疏忽之处,欢迎评论指正!
后续文档Docker从入门到实战(四)链接 http://blog.51cto.com/12943999/2073654

Docker从入门到实战(三)的更多相关文章

  1. Docker从入门到实战(二)

    Docker从入门到实战(二) 一:什么是docker Docker是一个开源的应用容器引擎,开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到主流的Linux.MacOS.Windo ...

  2. Docker从入门到实战(一)

    Docker从入门到实战(一) 一:容器技术与Docker概念 1 什么是容器 容器技术并不是一个全新的概念,它又称为容器虚拟化.虚拟化技术目前主要有硬件虚拟化.半虚拟化.操作系统虚拟化等.1.1关于 ...

  3. Docker技术入门与实战第2版-高清文字版

      Docker技术入门与实战第2版-高清文字版 下载地址https://pan.baidu.com/s/1bAoRQQlvBa-PXy5lgIlxUg 扫码下面二维码关注公众号回复100011 获取 ...

  4. Docker技术入门与实战

      Docker技术入门与实战 下载地址https://pan.baidu.com/s/1bAoRQQlvBa-PXy5lgIlxUg 扫码下面二维码关注公众号回复100011 获取分享码 本书目录结 ...

  5. 赞一个 kindle电子书有最新的计算机图书可买了【Docker技术入门与实战】

    最近对docker这个比较感兴趣,找一个比较完整的书籍看看,在z.cn上找到了电子书,jd dangdang看来要加油啊 Docker技术入门与实战 [Kindle电子书] ~ 杨保华 戴王剑 曹亚仑 ...

  6. docker-9 supervisord 参考docker从入门到实战

    参考docker从入门到实战 使用 Supervisor 来管理进程 Docker 容器在启动的时候开启单个进程,比如,一个 ssh 或者 apache 的 daemon 服务.但我们经常需要在一个机 ...

  7. Docker技术入门与实战 第二版-学习笔记-10-Docker Machine 项目-2-driver

    1>使用的driver 1〉generic 使用带有SSH的现有VM/主机创建机器. 如果你使用的是机器不直接支持的provider,或者希望导入现有主机以允许Docker Machine进行管 ...

  8. Docker技术入门与实战 第二版-学习笔记-8-网络功能network-3-容器访问控制和自定义网桥

    1)容器访问控制 容器的访问控制,主要通过 Linux 上的 iptables防火墙来进行管理和实现. iptables是 Linux 上默认的防火墙软件,在大部分发行版中都自带. 容器访问外部网络 ...

  9. Docker技术入门与实战(文摘)

    第一部分 基础入门 第1章 初识容器与Docker 第2章 核心概念与安装配置 第二部分 实战案例 第三部分 进阶技能 第四部分 开源项目

随机推荐

  1. ACM学习历程—广东工业大学2016校赛决赛-网络赛F 我是好人4(数论)

    题目链接:http://gdutcode.sinaapp.com/problem.php?cid=1031&pid=5 这个题目一看就是一道数论题,应该考虑使用容斥原理,这里对lcm进行容斥. ...

  2. bzoj 3091: 城市旅行 LCT

    题目: http://www.lydsy.com/JudgeOnline/problem.php?id=3091 题解: 首先前三个操作就是裸的LCT模板 只考虑第四个操作. 要求我们计算期望,所以我 ...

  3. C++ ORM ODB入门

    1.ORM ORM, Object Relational Mapping, 对象关系映射,用来将基于对象的数据结构映射到SQL的数据结构中.即将基于对象的数据映射到关系表中的字段,然后我们可以通过对象 ...

  4. shock编程

    Socket接口是TCP/IP网络的API,Socket接口定义了许多函数或例程,程序员可以用它们来开发TCP/IP网络上的应用程序.要学Internet上的TCP/IP网络编程,必须理解Socket ...

  5. 微服务理论之四:SOA

    1.什么是SOA? SOA代表了面向服务的架构. SOA是一种使用松耦合的黑盒子服务构建业务应用的体系架构,这些服务可以通过编排连接在一起以实现特定的功能. 2.SOA特点 以下是服务的SOA的主要特 ...

  6. Go语言是如何处理栈的

    转自:http://tonybai.com/2014/11/05/how-stacks-are-handled-in-go/ Go 1.4Beta1刚刚发布,在Go 1.4Beta1中,Go语言的st ...

  7. TreeSet 和TreeMap 排序

    TreeSet 有两种排序方式 1. Java.lang.Comparble+compareTo new TreeSet() 用这种方法必须要求实体类实现Comparable接口,也就是说要求添加到T ...

  8. %.*s, printf

    %.*s_百度搜索 c语言%.*s是什么_百度知道 *用来指定宽度,对应一个整数 .(点)与后面的数合起来 是指定必须输出这个宽度,如果所输出的字符串长度大于这个数,则按此宽度输出,如果小于,则输出实 ...

  9. springmvc chrome jsonviewer 一起请求 重复提提交 controller重复执行 2次执行

    情况一: springmvc chrome jsonviewer 一起请求 重复提提交 controller重复执行 2次执行 Chrome浏览器地址栏访问接口url,重复请求问题解决   不论刷新还 ...

  10. centos6.5安装zookeeper教程(三)

    阅读前建议先阅读: http://www.cnblogs.com/duenboa/articles/6665159.html   1. 下载安装文件zookeeper-3.4.6.tar.gz 镜像地 ...