(二)Docker的安装(2-1)

Docker安装比较简单,没有太多前提条件,直接YUM就可以安装,当然你也可以选择编译安装,但是这就降低了安装包的可维护性。我们这里主要说YUM安装方式。

Docker只能安装在RHEL6(CentOS 6)以上版本且只能是64位操作系统。我们这里以CentOS 7为例并安装Docker。同时也推荐使用CentOS 7来使用或学习Docker。


检查内核版本:

1
uname  -a

wKioL1jWLpnzA5pZAACdDj5BXSI006.png

查看发行版版本:

1
lsb_release -a

wKiom1jWLrmAP3sVAAD_mSgHouU706.png

检查Device Mapper:

1
grep  device-mapper  /proc/devices

wKioL1jWLvKSYIbIAABIYld7QJg984.png

或者使用

1
rpm -qa device-mapper

wKiom1jWLx2SFSwyAABXdz44gw4528.png

如果没有可以使用下面的命令进行安装(Red Hat中默认会被安装)

1
yum -y  install  device-mapper

延伸知识:什么是device-mapper?其实这个是graph diver的一种(aufs、devicemapper、vfs等)。它本身就是Linux系统内核中支持的功能,它实现了虚拟块设备,路径是/dev/mapper,我们知道在Linux的LVM中可以做卷的快照、卷的RAID等,都是用device-mapper这个框架来实现的。看下图:

wKioL1jWL3Sydl6lAAGl-252WoU527.png



脚本安装

运行下面的脚本,其实它会自动添加一个docker.repo源

1
curl -sSL http: //acs-public-mirror .oss-cn-hangzhou.aliyuncs.com /docker-engine/internet  | sh -

wKioL1jWMHeCAZvsAAHHC65cKkE980.png

查看,你发现这里的版本号不是之前看到那个1.12这种类型,在2017年docker的版本发生了重大变化,版本从13.x升级到17.03。Dcoker每三个月发布一个稳定版,17.03、17.06以此类推。

17.03.0.ce中的ce表示是社区版本,EE则是企业版本。

1
rpm -qa docker*

wKiom1jWMLuAjvfFAAB5jqroSuo848.png


启动Docker守护进程:

1
systemctl start docker.service

wKioL1jWMkHDfPFOAABCv2ULhpI887.png

可以使用下面的命令查看docker进程是否运行,Docker进程以root权限运行,用于处理普通用户无法完成的工作,比如加载文件系统。docker程序是Docker的客户端程序,同样也需要使用root来运行

1
docker info

wKiom1jWMnTylRKtAAF_f9tU1eA430.png

默认的PID和SOCK套接字位置在:/var/run/下面,Docker使用docker.sock这个Unix套接字来监听本地用户请求。也就是说默认情况下只能使用本地Docker客户端或者Docker API对Dokcer进程发起请求,因为默认使用了本地UNIX套接字,而不会监听任何网络端口,你使用netstate命令就会发现,找不到docker监听的网络端口,只能找到套接字。所以要想通过远程主机也可以连接,就需要开启一个监听端口。

wKioL1jWMqvyKj6IAAHqgSnq3Uo240.png

配置Docker守护进程:

为了让远程可以连接到Docker需要开启监听端口,这里有2种方式,一个是临时生效直到Docker进程结束;另外一个是修改配置文件永久生效。

临时生效:

1
docker -H tcp: //IP :PORT -d &

让Docker进程在指定的IP和端口上监听,IP也可以写成0.0.0.0表示本机任何网络接口。那么客户端如果连接进来也需要使用-H来指定要连接的IP和端口。

如果启动进程时只写TCP的,那么你的本地连接将没有(也就是没有UNIX套接字),如果同时需要,则还需要指定套接字路径,我这里就使用了默认路径,你也可以写另外的路径。

1
2
3
4
docker daemon -H IP:PORT -H unix: ///var/run/docker .sock -d &
#建议使用下面的命令,这两个命令的效果相同。
dockerd -H 0.0.0.0:5555 -H unix: ///var/run/docker .sock &
#dockerd命令是专门用于启动docker守护进程的,里面有很多选项可以使用。

wKioL1jWNluTU2DDAALhq2mDnlM064.png查看监听端口和套接字

1
netstat  -nap |  grep  docker

wKiom1jWNtrCdm66AAH12vhsZgw459.png客户端远程连接方式如下:

1
docker -H IP:PORT COMMAND


永久生效:

修改Docker守护进程的配置文件,默认是/usr/lib/systemd/system/docker.service文件,修改参数添加如下。

含义是ExecStart的参数所设置的值将会被传递给dockerd命令用于启动守护进程。

wKiom1jWOoCBV36BAAKoeh6C5o8756.png

重启服务,使用如下命令查看

1
2
systemctl start docker.service
ss -nap |  grep  docker

wKioL1jWOuHgxIOzAALua991rtw057.png


其他命令:

查看Docker信息

1
docker info

查看Docker进程是否在运行

1
systemctl status docker.service

wKiom1jWO1ywkCnGAAUVZtH-qvI277.png

查看Docker版本

1
docker version

wKiom1jWO4LzkjQKAAE2Z478ra8132.png

连接Docker:

1
2
docker -H IP:PORT COMMAND
docker COMMAND

下面是查看本地有哪些镜像,2个命令效果相同,第一个命令是通过网络方式获取信息,第二个命令是通过本地套接字方式连接docker进程来获取信息。

wKiom1jWO86xLQ17AACw4J0aHlA526.png





      本文转自linuxjavachen  51CTO博客,原文链接:http://blog.51cto.com/littledevil/1863271,如需转载请自行联系原作者




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值