71.Docker简介及安装方法

转载请注明原始出处:http://blog.csdn.net/a464057216/article/details/71110825

后续此博客不再更新,欢迎大家搜索关注微信公众号“测开之美”,测试开发工程师技术修炼小站,持续学习持续进步。
在这里插入图片描述

简介

Docker是软件容器平台,用来解决软件交付中的部署问题,比如在自己的机器上软件运行正常,部署在其他机器时由于环境依赖踩了很多坑。运维人员在机器上部署多个容器应用可以提高机器的资源利用率,容器间环境隔离保证了应用程序的安全性。在Linux、Windows或Mac平台,企业使用Docker可以在敏捷交付流程中安全、快速地交付新需求。

什么是容器

通过Docker,软件运行的依赖被封装到隔离的容器中。与虚拟机不同之处在于,Docker不包含整个OS,只包含软件运行必须的库和配置,这样使容器轻量化,保证了应用的快速部署。

开发人员

Docker把建立软件运行环境的工作自动化,比如不需要重复搭建、配置数据库系统,重复配置不同版本的语言工具链,开发人员可以将精力聚焦于功能开发。容器是非常容易构建、共享和运行的。团队中新人报道后,不需要花费较多时间熟悉软件部署流程,从Docker Hub拉取Docker镜像,修改配置后就可以快速开始调试、熟悉程序。

运维人员

Docker提高软件交付效率,可以快速交付新需求或实现Bug修复。Docker允许开发和运维自动化地、安全地实现构建、交付、测试、部署,可以省略部署文档的维护。整个团队在开发、预上线、产品用的是同一个镜像,避免由于环境差异引起交付过程中各种问题。

安装Docker

  • Docker EE(Enterprise Edition):针对企业级开发,在生产环境大规模部署应用,注重安全性,需付费使用。企业版也分为基础版、标准版、高级版。Docker EE提供两年的技术支持。
  • Docker CE(Community Edition):适合开发者或小型团队学习Docker使用,提供Mac、Windows、Linux三种版本。Docker CE分为stable、test、nightly版。stable版是发布的稳定版;test版是稳定版的预发布版本,供测试使用;nighlty版是开发中的下次发布版本的每日构建版本。推荐学习Docker时,使用经过测试的stable版。
  • Docker Cloud:官方平台,允许在多个云服务上部署应用,如Digital Ocean,Packet,SoftLink等。

Docker CE

Docker CE在GitHub上有公开的Docker EngineDocker Client代码库。Docker CE的发布版本号为点号分割的三位数字,格式为YY.MM.<path>,每6个月发布一次,提供7个月的补丁支持。nightly版本号格式为0.0.0-YYYYmmddHHMMSS-<commit hash>,供Docker的开发者调试使用,不对使用者保证功能和稳定性。test版本号格式为test-YY.MM,测试通过后才会正式发布。stable版本的版本号格式为stable-YY.MM,一旦发布后任何补丁提交都基于发布分支。

Docker EE、Docker CE x86_64及Docker CE ARM版本对各个操作系统及云平台的详细支持可以参考https://docs.docker.com/install/#supported-platforms。

以Cent OS上安装Docker为例介绍安装Docker的过程。

Requirements

CentOS 7,64位

删除旧版本

旧版本的Docker叫做dockerdocker-engine,需要先删除旧版本的Docker:

# Written by: CSDN - Mars Loo的博客
sudo yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-selinux docker-engine-selinux docker-engine

删除软件后,/var/lib/docker目录下的镜像、容器、卷、网络都被保留。Docker CE现在叫做docker-ce,docker EE叫做docker-ee

安装新版本

两种方法:
1. 通过yum,容易安装和升级(推荐)。
2. 下载RPM包手工安装,升级也采用手工升级,没有网络的环境下推荐使用这种方式。
下面以Docker CE的yum安装为例说明安装过程。

设置Docker的yum仓库

安装提供yum-config-manager功能的yum-utils,然后设置使用stable版本的Docker CE:

# Written by: CSDN - Mars Loo的博客
sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

安装Docker CE

1.更新yum包索引:

# Written by: CSDN - Mars Loo的博客
sudo yum makecache fast

如果是添加完源以后第一次更新,会显示Docker CE的指纹信息,如果是060A 61C5 1B55 8A7F 742B 77AA C52F EB6B 621E 9F35则可以接受。

2.安装最新版本的Docker CE:

# Written by: CSDN - Mars Loo的博客
sudo yum install docker-ce

3.安装特定版本的Docker CE(可选)
产品环境通常要求安装特定版本的Docker CE而不总是最新的。查询所有的Docker CE版本:

# Written by: CSDN - Mars Loo的博客
$ yum list docker-ce.x86_64 --showduplicates
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirrors.yun-idc.com
 * extras: mirrors.aliyun.com
 * updates: mirrors.aliyun.com
Installed Packages
docker-ce.x86_64                                       17.03.0.ce-1.el7.centos                                       @docker-ce-stable
Available Packages
docker-ce.x86_64                                       17.03.0.ce-1.el7.centos                                       docker-ce-stable 
docker-ce.x86_64                                       17.03.1.ce-1.el7.centos                                       docker-ce-stable

第一列表示包名,第二列表示版本号,第三列表示repo名,如果要安装特定的版本,可以使用如下命令(<VERSION>用版本号替代):

# Written by: CSDN - Mars Loo的博客
sudo yum install docker-ce-<VERSION>

4.启动Docker

# Written by: CSDN - Mars Loo的博客
sudo systemctl start docker

5.登录一个Docker Registry,默认的是Docker Hub,如果无法连接Docker Hub官网,可以在网易凤巢创建一个账号之后登录https://c.163.com:

$ sudo docker login hub.c.163.com
Username: marsloo
Password: 
Login Succeeded

也可以修改Docker配置文件/etc/sysconfig/docker默认连接到国内的https://c.163.com:

# Written by: CSDN - Mars Loo的博客
DOCKER_OPTS="--registry-mirror=http://hub-mirror.c.163.com"

6.通过运行hello-world镜像确认Docker是否成功安装:

# Written by: CSDN - Mars Loo的博客
sudo docker run hello-world

该命令下载一个测试用的镜像并在容器中运行,容器运行以后,打印一条消息并退出。
docker version可以查看Docker的服务端和客户端版本,docker ps可以查看正在运行的容器信息,docker ps -a查看所有容器信息(包括已经运行结束的)。

卸载Docker

# Written by: CSDN - Mars Loo的博客
sudo yum remove docekr-ce

如果需要删除镜像、容器、卷和配置:

# Written by: CSDN - Mars Loo的博客
sudo rm -rf /var/lib/docker

升级Docker CE

首先执行sudo yum makecache fast,其次按照“安装指定版本”的流程安装最新版本。

非root用户管理Docker

默认情况Docker 守护进程绑定到Unix socket而不是TCP端口,且该Unix socket的所有者是root。如果不想每次通过sudo使用Docker ,可以创建名为docker的group,将用户加入docker用户组,Docker 守护进程启动时会给docker组赋予该Unix socket读、写权限:

# Written by: CSDN - Mars Loo的博客
sudo groupadd docker
sudo usermod -aG docker $USER

退出并重新登录,然后:docker run hello-world即可。

系统启动时启动Docker

RHEL、CentOS、Fedora、Ubuntu 16.04及以上使用systemd配置系统启动时启动哪些服务,Ubuntu 14.10及以下使用upstart命令。
比如:

# Written by: CSDN - Mars Loo的博客
sudo systemctl enable docker

如果不想让docker随系统启动,将enable参数变成disable参数。Docker安装后默认采用upstart配置为随系统启动,如果不想这样,可以使用如下命令:

# Written by: CSDN - Mars Loo的博客
echo manual | sudo tee /etc/init/docker.override
sudo chkconfig docker on

接下来欢迎继续阅读下一篇文章:Docker的初级使用:容器

如果觉得我的文章对您有帮助,欢迎关注我(CSDN:Mars Loo的博客)或者为这篇文章点赞,谢谢!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值