Docker从入门到实战(三)
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从入门到实战(三)的更多相关文章
- Docker从入门到实战(二)
Docker从入门到实战(二) 一:什么是docker Docker是一个开源的应用容器引擎,开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到主流的Linux.MacOS.Windo ...
- Docker从入门到实战(一)
Docker从入门到实战(一) 一:容器技术与Docker概念 1 什么是容器 容器技术并不是一个全新的概念,它又称为容器虚拟化.虚拟化技术目前主要有硬件虚拟化.半虚拟化.操作系统虚拟化等.1.1关于 ...
- Docker技术入门与实战第2版-高清文字版
Docker技术入门与实战第2版-高清文字版 下载地址https://pan.baidu.com/s/1bAoRQQlvBa-PXy5lgIlxUg 扫码下面二维码关注公众号回复100011 获取 ...
- Docker技术入门与实战
Docker技术入门与实战 下载地址https://pan.baidu.com/s/1bAoRQQlvBa-PXy5lgIlxUg 扫码下面二维码关注公众号回复100011 获取分享码 本书目录结 ...
- 赞一个 kindle电子书有最新的计算机图书可买了【Docker技术入门与实战】
最近对docker这个比较感兴趣,找一个比较完整的书籍看看,在z.cn上找到了电子书,jd dangdang看来要加油啊 Docker技术入门与实战 [Kindle电子书] ~ 杨保华 戴王剑 曹亚仑 ...
- docker-9 supervisord 参考docker从入门到实战
参考docker从入门到实战 使用 Supervisor 来管理进程 Docker 容器在启动的时候开启单个进程,比如,一个 ssh 或者 apache 的 daemon 服务.但我们经常需要在一个机 ...
- Docker技术入门与实战 第二版-学习笔记-10-Docker Machine 项目-2-driver
1>使用的driver 1〉generic 使用带有SSH的现有VM/主机创建机器. 如果你使用的是机器不直接支持的provider,或者希望导入现有主机以允许Docker Machine进行管 ...
- Docker技术入门与实战 第二版-学习笔记-8-网络功能network-3-容器访问控制和自定义网桥
1)容器访问控制 容器的访问控制,主要通过 Linux 上的 iptables防火墙来进行管理和实现. iptables是 Linux 上默认的防火墙软件,在大部分发行版中都自带. 容器访问外部网络 ...
- Docker技术入门与实战(文摘)
第一部分 基础入门 第1章 初识容器与Docker 第2章 核心概念与安装配置 第二部分 实战案例 第三部分 进阶技能 第四部分 开源项目
随机推荐
- bzoj 4103: 异或运算 可持久化Trie
题目大意: 给定长度为n的数列X={x1,x2,...,xn}和长度为m的数列Y={y1,y2,...,ym},令矩阵A中第i行第j列的值\(A_{ij} = x_i \text{ xor } y_j ...
- 找工作——JVM内存管理
1. JVM类加载机制 类从被加载到虚拟机内存开始,到卸载出内存为止,它的整个生命周期包括:加载.连接(验证.准备.解析).初始化.使用和卸载阶段. 加载:根据查找路径找到对应的class文件,然后倒 ...
- Amaze UI 框架
Amaze UI 框架:官方网址 http://amazeui.org/ 演示地址 http://t.amazeui.org/kitchen-sink/#/ 该UI框架提供了 桌面系统WEB框架 和 ...
- c++17 filesystem, regex 遍历目录
linux 遍历目录+文件(优化版本) c++17 FS 还是挺好用的, VS2017支持,但是linux g++7.3 还是不支持 filesystem #include<filesystem ...
- Ruby 事务Blocks
block可以用来定义必须运行在事务控制环境下的代码.例如,你经常需要打开一个文件,对其内容做些处理,然后确保在处理结束后关闭文件.尽管可以用传统方式来实现,但也存在“应该由文件负责自身的关闭”这样的 ...
- Microsoft Data Access Components 2.8
今天在安装金蝶系统的时候,发现这个组件无法安装上 此组件如果跳过,不安装,将会导致金蝶安装完毕后,提醒无法创建账套,也就是金蝶软件无法连接到数据库上,所以此步为必须. 于是乎,网上找这个组件,下载地址 ...
- js中Math.round、parseInt、Math.floor和Math.ceil小数取整总结(转)
js中Math.round.parseInt.Math.floor和Math.ceil小数取整总结 Math.round.parseInt.Math.floor和Math.ceil 都可以返回一个整数 ...
- Java泛型通配符以及限定
摘抄笔记 A:泛型的限定 /* * 将的酒店员工,厨师,服务员,经理,分别存储到3个集合中 * 定义方法,可以同时遍历3集合,遍历三个集合的同时,可以调用工作方法 */ import java.uti ...
- 功能:formatter 表单提交 拼接参数的形式
datagarid的formatter属性 value: 代表当前单元格中的值.row:代表当前行.index: 代表当前行的下标. {field:'is_hot',title:'是否热门',widt ...
- error C2872: “flann”: 不明确的符号 --- PCL 与OpenCV2 的flann命名空间冲突问题的解决方法
error C2872: "flann": 不明确的符号 - PCL 与OpenCV2命名空间冲突问题的解决方法 error C2872: "flann" 如果 ...