Docker 是一个开源的应用容器引擎,基于 Go 语言 并听从Apache2.0协议开源。html
Docker 可让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,而后发布到任何流行的 Linux 机器上,也能够实现虚拟化。linux
容器是彻底使用沙箱机制,相互之间不会有任何接口(相似 iPhone 的 app),更重要的是容器性能开销极低。git
Web 应用的自动化打包和发布。golang
自动化测试和持续集成、发布。docker
在服务型环境中部署和调整数据库或其余的后台应用。数据库
Docker 让开发者能够打包他们的应用以及依赖包到一个可移植的容器中,而后发布到任何流行的 Linux 机器上,即可以实现虚拟化。Docker改变了虚拟化的方式,使开发者能够直接将本身的成果放入Docker中进行管理。方便快捷已是 Docker的最大优点,过去须要用数天乃至数周的 任务,在Docker容器的处理下,只须要数秒就能完成。centos
若是你有选择恐惧症,仍是资深患者。Docker 帮你打包你的纠结!好比 Docker 镜像;Docker 镜像中包含了运行环境和配置,因此 Docker 能够简化部署多种应用实例工做。好比 Web 应用、后台应用、数据库应用、大数据应用好比 Hadoop 集群、消息队列等等均可以打包成一个镜像部署。bash
一方面,云计算时代到来,使开发者没必要为了追求效果而配置高额的硬件,Docker 改变了高性能必然高价格的思惟定势。Docker 与云的结合,让云空间获得更充分的利用。不只解决了硬件管理的问题,也改变了虚拟化的方式。app
Docker支持如下的CentOS版本:oop
目前,CentOS 仅发行版本中的内核支持 Docker。
Docker 运行在 CentOS 7 上,要求系统为64位、系统内核版本为 3.10 以上。
Docker 运行在 CentOS-6.5 或更高的版本的 CentOS 上,要求系统为64位、系统内核版本为 2.6.32-431 或者更高版本。
个人操做系统版本:
您能够根据您的须要以不一样的方式安装Docker CE,下面介绍两种安装方法:
大多数用户设置Docker的存储库并从中进行安装,以便安装和升级任务。这是推荐的方法。
docker官方包下载地址:https://download.docker.com/linux/centos/7/x86_64/stable/Packages/
建立一个downloads文件夹,而后使用wget命令进行下载
[root@sungeek downloads]# wget https://download.docker.com/linux/centos/7/x86_64/stable/Packages/docker-ce-18.03.1.ce-1.el7.centos.x86_64.rpm
[root@sungeek downloads]# yum install docker-ce-18.03.0.ce-1.el7.centos.x86_64.rpm
首次在新主机上安装Docker CE以前,须要设置Docker存储库。以后,您能够从存储库安装和更新Docker。
较旧版本的Docker被称为docker或docker-engine。若是已安装这些,请卸载它们以及相关的依赖项
$ 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
1.安装所需的包。yum-utils
提供了yum-config-manager
效用,并device-mapper-persistent-data
和lvm2
由须要devicemapper
存储驱动程序。
[root@sungeek ~]# yum install -y yum-utils \
device-mapper-persistent-data \
lvm2
2.使用如下命令设置stable 的存储库。即便您想从edge或test 存储库安装构建,也老是须要stable 的存储 库。
[root@sungeek ~]# yum-config-manager \ --add-repo \ https://download.docker.com/linux/centos/docker-ce.repo
3.(可选,我以为仍是稳定版好):启用edge和test存储库。这些存储库包含在docker.repo
上面的文件中,但默认状况下处于禁用状态。您能够将它们与稳定的存储库一块儿启用。
[root@sungeek ~]# yum-config-manager --enable docker-ce-edge [root@sungeek ~]# yum-config-manager --enable docker-ce-test
您能够经过使用该标志运行命令来禁用edge或test存储库 。要从新启用它,请使用标志。如下命令禁用边缘存储库。yum-config-manager
--disable
--enable
[root@sungeek ~]# yum-config-manager --disable docker-ce-edge
4.2.更新 YUM 软件包索引。
[root@sungeek ~]# yum makecache fast Loaded plugins: fastestmirror, langpacks Loading mirror speeds from cached hostfile * base: mirrors.cn99.com * extras: mirrors.shu.edu.cn * updates: mirrors.shu.edu.cn base | 3.6 kB 00:00:00 docker-ce-edge | 2.9 kB 00:00:00 docker-ce-stable | 2.9 kB 00:00:00 docker-ce-test | 2.9 kB 00:00:00 extras | 3.4 kB 00:00:00 updates | 3.4 kB 00:00:00 docker-ce-test/x86_64/primary_db | 47 kB 00:00:00 Metadata Cache Created
若是这是自添加 Docker 镜像仓库以来您首次刷新软件包索引,系统将提示您接受 GPG 密钥,而且将显示此密钥的指纹。验证指纹是否正确,而且在正确的状况下接受此密钥。指纹应匹配 060A 61C5 1B55 8A7F 742B 77AA C52F EB6B 621E 9F35
。
4.3.安装最新版本的 Docker CE,或者转至下一步以安装特定版本。
[root@sungeek ~]# yum install docker-ce
警告:若是您启用了多个 Docker 镜像仓库,进行安装 或者更新而不在
yum install
或yum update
命令中指定版本将始终安装可用的最高版本, 这可能没法知足您的稳定性需求。
在生产系统中,您应该安装特定版本的 Docker CE,而不是始终使用最新版本。列出可用版本。此示例使用 sort -r
命令按版本号(从最高到最低)对结果进行排序,而且已被截断。
注:此
yum list
命令仅显示二进制软件包。若是还须要显示 源软件包,请从软件包名称中省略.x86_64
。
[root@sungeek ~]# yum list docker-ce.x86_64 --showduplicates | sort -r
docker-ce.x86_64 18.03.0.ce-1.el7.centos docker-ce-stable
返回的列表取决于启用了哪些存储库,而且特定于您的CentOS版本(.el7
在此示例中由后缀指示)。
例如,经过彻底限定的软件包名称(它是软件包名称(docker-ce
))和版本字符串(第2列)直到第一个连字符来安装特定版本,并用连字符(-
) 分隔docker-ce-18.03.0.ce
[root@sungeek ~]# yum install docker-ce-<VERSION>
[root@sungeek ~]# yum install docker-ce-18.03.0.ce-1.el7.centos
如需升级 Docker CE,首先运行yum makecache fast
,而后按照安装说明执行操做,并选择您要安装的新版本。
[root@localhost downloads]# systemctl start docker [root@localhost downloads]# systemctl status docker
[root@localhost downloads]# systemctl enable docker --设置开机自启动docker服务
直接输入docker列出该命令的用法
测试运行第一个容器:hello-world
因为本地没有hello-world这个镜像,因此会下载一个hello-world的镜像,并在容器内运行。
[root@localhost downloads]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE docker.io/hello-world latest e38bc07ac18e 2 months ago 1.85 kB
[root@localhost downloads]# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 3fa4f2de1c01 hello-world "/hello" 4 minutes ago Exited (0) 4 minutes ago elastic_lumiere
docker ps也是最经常使用的命令,-a :显示全部的容器,包括未运行的。
获取容器的日志
docker logs [container]
1.查询安装过的包
[root@sungeek ~]# yum list installed | grep docker docker-client.x86_64 2:1.13.1-63.git94f4240.el7.centos @extras docker-common.x86_64 2:1.13.1-63.git94f4240.el7.centos @extras
2.删除安装的软件包
[root@sungeek ~]# yum -y remove docker-client.x86_64 [root@sungeek ~]# yum -y remove docker-common.x86_64
3.主机上的镜像、容器、存储卷、或定制配置文件不会自动删除。如需删除全部镜像、容器和存储卷,请运行下列命令:
您必须手动删除任何已编辑的配置文件。
[root@sungeek ~]# rm -rf /var/lib/docker/
4.输入docker或docker --version验证是否卸载
[root@sungeek ~]# docker --version -bash: /usr/bin/docker: No such file or directory [root@sungeek ~]# docker -bash: /usr/bin/docker: No such file or directory
5.导入加载进来以为不合适可使用 docker rm 容器ID 、 docker rmi 镜像ID 来删掉。
移除全部的容器和镜像:
[root@sungeek ~]# docker kill $(docker ps -q) ; docker rm $(docker ps -a -q) ; docker rmi $(docker images -q -a)
centos7官方英文安装docker CE说明:https://docs.docker.com/install/linux/docker-ce/centos/
centos7中文安装docker CE说明:https://docs.docker-cn.com/engine/installation/linux/docker-ce/centos/
还有更多的命令能够参考docker命令大全:http://www.runoob.com/docker/docker-command-manual.html