71.Docker简介及安装方法

来源:互联网 发布:家装装修设计软件 编辑:程序博客网 时间:2024/06/06 00:44

  • 简介
    • 什么是容器
    • 开发人员
    • 运维人员
  • 安装Docker
    • Requirements
    • 删除旧版本
    • 安装新版本
      • 设置Docker的yum仓库
      • 安装Docker CE
      • 卸载Docker
      • 升级Docker CE
      • 非root用户管理Docker
      • 系统启动时启动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 CE(Community Edition):适合开发者或小型团队学习Docker使用,提供Mac、Windows、Linux三种版本。Docker CE分为stable版和edge版:
    • stable版每季度发版一次,提供4个月的支持。
    • edge版每月发版一次,仅当月提供支持。
  • Docker Cloud:官方平台,允许在多个云服务上部署应用,如Digital Ocean,Packet,SoftLink等。

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

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

Requirements

CentOS 7,64位

删除旧版本

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

# Written by: CSDN - Mars Loo的博客sudo yum remove docker docker-common container-selinux docker-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-utilssudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

如果想使用edge版本,可以使用如下命令:

# Written by: CSDN - Mars Loo的博客sudo yum-config-manager --enable docker-ce-edge

使用edge版本也需要添加stable版本的repo,因为Linux中每到stable版本的发版月,edge版本只出现在stable版本的源中。如果不想使用edge版本,使用如下命令:

# Written by: CSDN - Mars Loo的博客sudo yum-config-manager --disable docker-ce-edge

安装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 --showduplicatesLoaded plugins: fastestmirror, langpacksLoading mirror speeds from cached hostfile * base: mirrors.yun-idc.com * extras: mirrors.aliyun.com * updates: mirrors.aliyun.comInstalled Packagesdocker-ce.x86_64                                       17.03.0.ce-1.el7.centos                                       @docker-ce-stableAvailable Packagesdocker-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.通过运行hello-world镜像确认Docker是否成功安装:

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

该命令下载一个测试用的镜像并在容器中运行,容器运行以后,打印一条消息并退出。如果无法连接Docker官网,修改Docker配置文件/etc/sysconfig/docker连接到国内的https://c.163.com:

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

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 dockersudo 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.overridesudo chkconfig docker on

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

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

1 0
原创粉丝点击