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. Cannot resolve class or package 'springframework' less... (Ctrl+F1) Inspection info:Spring XML mode

    其实这个问题是由于MySQL 这个jar 包依赖类型默认是runtime ,也就是说只有运行时生效,所以虽然这里报错,但是不影响你代码运行. 解决方案: 将runtime 修改为Compile 即可 ...

  2. bzoj 3924 幻想乡战略游戏 —— 动态点分治

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=3924 参考了博客:https://blog.csdn.net/qq_34564984/art ...

  3. bzoj 3994 约数个数和 —— 反演+数论分块

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=3994 推导过程和这里一样:https://www.cnblogs.com/MashiroSk ...

  4. mongodb数据迁移的两种方式

    环境说明:bbs数据采集的数据越来越多,目前是50G,每天大概以200W的数据量增长.而当前服务器1.2上面的空间不足,需要把数据迁移到空间足够大的1.3上面去 尝试了2种方式对数据进行迁移,一种是r ...

  5. myeclipse保存时弹出Building workspace

    最近做项目,每次保存修改的东西.myeclipse都会building workspace(重新编译)一下.并且那 building的速度真不够慢的啊. 严重影响编程速度. 在网上也发现遇到此问题的很 ...

  6. XML解析,出现ClassCastException 原因

    import java.io.IOException; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.Docum ...

  7. C++知识点总结(二)

    1.字符串的部分拷贝 ① 利用标准库函数strncpy(),可以将一字符串的一部分拷贝到另一个字符串中.strncpy()函数有3个参数:第一个参数是目录字符串:第二个参 数是源字符串:第三个参数是一 ...

  8. 25、转录本(transcript)组成(gtf文件的第三列)

    转录本(transcript)长度范围  到 --3216021---- 3UTR                       stop_codon                      CDS3 ...

  9. 使用 Node.js 实现简单的 Webhook

    距离 Node.js 这个东西出来已经过了好久了,感觉现在的前端如果不会点 Node.js 就有点太落后于时代啦.我接触它是从去年暑假开始的,当时在写一个比较神奇的东西,就顺便接触了一下.虽然网传 n ...

  10. Eclipse提交svn错误svn E210003 connection refused by the server

    错误明细: org.apache.subversion.javahl.ClientException: svn: E210003: connection refused by the server o ...