第二章Docker的安装
2019-02-17 本文已影响109人
a7cfd566252e
目前Docker已经支持在越来越多的Linux平台安装了,包括Ubuntu和RHEL系列等宿主机中部署Docker。windows10也可以安装,目前仍推荐在linux系统安装,这里暂时使用ubuntu和centos以及window10中来进行安装Docker。
一、Docker安装的先决条件
1.64位CPU架构的计算机
2.运行Linux3.8或更高版本内核
3.内核必须支持一种适合的存储驱动
4.内核必须支持和开启cgroup和命名空间namespace功能
那么就需要准备两个服务器环境,可以自己搭建也可以买云服务器去搭建,此处省略。
二、Docker在不同操作系统中的安装
无论在哪一种操作系统进行安装,安装之前均需要检查前提条件,是否满足安装的条件。
- 1、内核检查。可以使用uanme -a查看内核情况
- 2、检查Device Mapper
2.1、Ubuntu宿主机安装Docker
这里是在虚拟机中安装了ubuntu的操作系统
1、首先检查linux内核是否满足要求uname -a 查看到内核信息:Linux ubuntu 3.13.0-32-generic #57-Ubuntu SMP Tue Jul 15 03:51:08 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux。
若不满足要求可以升级内核为最新的命令:
sudo apt-get update,Sudo 获取所需的root的权限,更新Ubuntu precise 的启动加载器 sudo update-grub之后重新启动宿主机sudo reboot
2、安装包允许apt通过HTTPS使用仓库
sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
software-properties-common
4、查看device mapper任何ubuntu12.4以上的都已安装,用此作为docker的存储驱动或者检查是否有此清单;可以使用命令:ls -l /sys/class/misc/device-mapper来查看或者sudo grep device-mapper /proc/devices 查看
5、更新ubuntu的apt源索引
sudo apt-get update
6.设置Docker稳定版仓库
sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
6、添加Docker官方GPG key
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
7、更新apt源索引
sudo apt-get update
8、安装最新版Docker
sudo apt-get install docker
若不想安装最新版本的docker,想要安装指定版本的docker可以使用apt-cache madison docker-ce查看所有版本的docker
9、Docker与ufw
Docker使用网桥来管理中的网络,默认情况下,UFW会丢弃所有转发的数据包,因此,需要在UFW中启用数据包的转发,这样docker才能正常运行
ubutun中root默认密码每次开机是随机的,可以使用su passwd来设置密码,设置完之后就可以切换root用户登录了,密码就是我们设置的密码。
切换成root后修改/etc/default/ufw中的DEFAULT_FORWARD_POLICY改成ACCEPT即可。
sudo ufw reload重载可以启动docker客户端
10、 检查docker守护进程的状态
sudo status docker ------>docker start/running, process 11881
- 启动和停止守护进程 sudo start docker或者sudo stop docker
11、查看docker服务是否启动:
sudo - 普通用户 可来回切换不同用户身份
sudo docker info 查看docker的启动状态或者sudo docker version
图片.png
2.2、RHEL系列宿主机安装Docker
这里是在虚拟机中安装center OS7操作系统
rpm -qa|grep docker查找已安装的docker
卸载
yum -y remove 查询出来的列表
通过 uname -r 命令查看你当前的内核版本
查看状态防火墙
systemctl status firewalld.service
1、同样是检查是否满足安装条件按如下截图操作
2、 yum -y install docker安装docker
3、设置开机启动systemctl start docker
如果报如下错误:“Job for docker.service failed because the control process exited with error code. See "systemctl status docker.service" and "journalctl -xe" for details.”
则可使用命令free -mh检查内存是否足够,一般至少是2G内存,增加内存后继续启动发现仍会报错具体报错信息如下图1,查看到是内核不支持。解决方法有两个:要么启动一个新内核,要么就在docker配置文件里面里禁用selinux,--selinux-enabled=false,这里我们是采用第二种的方式:修改的docker配置文件。将配置文件的“--selinux-enabled”改成“--selinux-enabled=false”,然后再重启docker。
cat /etc/sysconfig/docker,使用vi /etc/sysconfig/docker按下图2修改后再次重启。
4、查看docker的版本 docker version或者docker info查看见下图3
至此linux的center os7上docker也安装完成了
图1.png
图2.png
图3.png
2.3、windows10中安装Docker
在windows10中安装docker toolbox
1、首先需要去官网https://www.docker.com/products/docker-toolbox下载最新的docker toolbox
2、安装之前需要,检查系统是否满足要求
A.需要Microsoft Hyper-V 是开启的,win10默认就是开启的,若没有开启需要去开启之后,重新启动电脑,位置在控制面板--程序下的打开或关闭windows功能下查找
B.在安装docker Toolbox过程中 VirtualBox VMs会默认生成一个docker-machine,这个docker-machine是不能在windows系统上使用,但是可以用docker-machine去管理远程的虚拟机
C.Virtualization虚拟化开启,默认也是开启的,查看虚拟化是否开启打开任务管理器中查看
D.目前最新的windows操作系统的docker是运行在64位的win10Pro上
E.当安装了docker的容器和镜像之后,是共享给windows系统上的所有的用户的,因为windows账号将会用相同的虚拟机去build和run一个容器,不久将来docker将会将docker独立的提供给用户使用
F.嵌套虚拟化场景;如果我们的docker是安装在虚拟机的windows上或者类似这样的实例,不能保证可以正常使用,这个不是官方推荐的
G.Docker安装在windows上包含哪些?提供 Docker Engine, Docker CLI client, Docker Compose, and Docker Machine.
3、只要一路点击下一步即可安装完成,最后一步确保Launch Docker是被勾选的
4、安装好后在桌面上会出现如下的3个快捷方式
5、安装完成后检查安装的docker和docker-compose的版本
Cmd
docker --version
docker-compose --version
docker-machine --version
6、(ps部分需要此步骤)将安装docker-toolbox目录下的boot2docker.ios复制到C:\Users\‘每个电脑不同(当前用户)’\.docker\machine\cache目录下,个别出现版本不是最新的情况可以去下载最新的复制到这个目录下
7、双击Docker Quickstart Terminal打开如下图所示:第一次打开会比较慢,到这里docker在windows10操作系统局安装成功
参考资料:http://www.cnblogs.com/linjj/p/5606687.html
针对Linux系统的部分可支持使用Docker安装脚本来进行安装Docker,这里以ubuntu为例
- 首先需要确认curl命令已经安装
whereis curl:curl: /usr/bin/curl /usr/share/man/man1/curl.1.gz
若没有安装可通过命令sudo apt-get -y install curl - 然后使用安装脚本。curl https://get.docker.com/ | sudo sh
docker的守护进程监听/var/run/docker.socket这个unix套接字文件,来获取来自客户端的eDocker请求。如果系统中存在名为docker的用户组的话,Docker则会将该套接字文件的所有者设置为该用户组。这样,docker用户组的所有用户就都可以直接运行Docker,而无需再使用sudo命令了。 - 添加docker用户组
sudo groupadd docker
sudo usermod -aG docker $USER
注意:这里不用更改 $USER 这个参数,$USER 这个环境变量就是指当前用户名。
sudo reboot重启使用docker以后再使用docker命令前面不用加sudo了。