您的位置:首页 > 运维架构 > Docker

71.Docker简介及安装方法

2017-05-03 11:52 537 查看
简介
什么是容器

开发人员

运维人员

安装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叫做
docker
docker-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-utils
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo[/code] 
如果想使用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 --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.通过运行
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 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的博客)或者为这篇文章点赞,谢谢!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  docker 容器化应用