Docker 值得关注的特性: 文件系统隔离:每个进程容器运行在一个完全独立的根文件系统里。 资源隔离:系统资源,像 CPU 和内存等可以分配到不同的容器中,使用 cgroup。 网络隔离:每个进程容器运行在自己的网络空间,虚拟接口和 IP 地址。 日志记录:Docker 将会收集和记录每个进程容器的标准流(stdout/stderr/stdin),用 于实时检索或批量检索。 变更管理:容器文件系统的变更可以提交到新的映像中,并可重复使用以创建更多的容 器。无需使用模板或手动配置。 交互式 shell:Docker 可以分配一个虚拟终端并关联到任何容器的标准输入上。 2017 年 2 月份,Docker 公司发布了全新的 Docker 版本:V1.13.0。从 2017 年 3 月 1 号开 始,Docker 的版本命名发生如下变化 docker 现在有两种版本:社区版 CE(Community Edition)和企业版 EE(Enterprise Edition) dockerCE 有 2 种更新:stable 和 edge stable 版每个季度更新一次 edge 版每个月更新一次 docker EE 版是收费的,面向企业
dockers CE 和 EE 都支持多种平台,包括云主机,可以按照下面的来选择合适的版本
安装 Docker CE 依据你的需求,安装有不同的方法:
1、大多数用户设置 Docker 库然后安装,对安装和升级任务轻松。这是推荐的方法。
2、有些用户下载 RPM 包并手动安装,并完全手动管理升级。没有互联网连接下的好方法。
3、在测试和开发环境,一些用户选择使用自动化脚本安装 Docker。 OS 要求:
1、需要一个维护版本的 CentOS7,Archived versions 或者 test 版不被支持
2、centos-extras 仓库需要激活,默认在 centos7 上是激活的 卸载旧版本 Docker 的旧版本被称为 docker 或 docker-engine。如果这些已安装,请卸载它们以及关联
的依赖关系。 $ sudo yum remove docker \ docker-common \ docker-selinux \ docker-engine /var/lib/docker/的内容,包括镜像,容器,卷和网络都被保留。Docker CE 包现在称为 docker-ce ,Docker EE 包现在称为 docker-ee。 使用 docker 仓库安装: 第一次在新主机上安装 Docker CE,需要先设置 Docker 仓库,然后你可以从仓库安装和 更新 Docker。
1、安装需求包: 安装所需的软件包 yum-utils 提供了 yum-config-manager 实用程序, devicemapper-persistent-data 和 lvm2 是 devicemapper 存储驱动程序所必需的。 $ sudo yum install -y yum-utils \ device-mapper-persistentdata \ lvm2
2、安装 stable 标准库 官方源 yum-config-manager \ --add-repo \ https://download.docker.com/linux/centos/docker-ce.repo 国内源: yum-config-manager \ --add-repo \ https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
3、选项: docker-ce.repo 文件默认也包含 edge 和 test 仓库,默认是关闭的,你可以激活和关 闭它们 yum-config-manager --enable docker-ce-edge 开启 edge 版仓库 yum-config-manager --enable docker-ce-test 开启 test 版仓库 yum-config-manager --disable docker-ce-edge 关闭 edge 版仓库 安装 docker-ce 1、安装最新版本: yum install docker-ce 这个命令会安装最新版本,安装完后,并不会启动 docker,会创建 docker 组,但是 组中没有任何用户。 2、可以使用以下命令列出可用版本,选择安装不同版本。 yum list docker-ce --showduplicates | sort -r 3、启动 docker systemctl start docker 4、测试。检查 docker 是否正确安装并运行 hello-world 镜像 docker run hello-world 建立 docker 用户组 默认情况下,docker 命令会使用 Unix socket 与 Docker 引擎通讯。而只有 root 用户 和 docker 组的用户才可以访问 Docker 引擎的 Unix socket。出于安全考虑,一般 Linux 系统上不会直接使用 root 用户。因此,更好地做法是将需要使用 docker 的用户加入 docker 用户组。
建立 docker 组: $ sudo groupadd docker 将当前用户加入 docker 组: $ sudo usermod -aG docker $USER 镜像加速 鉴于国内网络问题,后续拉取 Docker 镜像十分缓慢,强烈建议安装 Docker 之后配置国内 镜像加速。 例如: 阿里云加速器 DaoCloud 加速器 灵雀云加速器 1、注册一个阿里的账号 2、进行加速器页面 https://cr.console.aliyun.com/#/accelerator 3、复制你的加入器 URL
对于使用 systemd 的系统,用 systemctl enable docker 启用服务后,编辑 /etc/systemd/system/multi-user.target.wants/docker.service 文 件 , 找 到 ExecStart= 这一行,在这行最后添加加速器地址 --registry-mirror=<加速器地址>, 如: ExecStart=/usr/bin/dockerd --registrymirror=https://jxus37ad.mirror.aliyuncs.com 注:对于 1.12 以前的版本,dockerd 换成 docker daemon。 重新加载配置并且重新启动。 $ sudo systemctl daemon-reload $ sudo systemctl restart docker 4、 验证是否生效 执行如下命令: ps -aux | grep docker 如果从结果中看到了配置的 --registry-mirror 参数说明配置成功
也 可 以 使 用 rpm 包 进 行 安 装 , 需 要 到 https://download.docker.com/linux/centos/7/x86_64/stable/Packages/下载软件包 然后使用命令安装即可 卸载 docker-ce
1、卸载 docker 软件包 $ sudo yum remove docker-ce
2、镜像、容器、卷和自定义的配置文件不会自动删除。 $ sudo rm -rf /var/lib/docker 必须手动删除任意的配置文件
参 考 资 料 : https://docs.docker.com/engine/installation/linux/dockerce/centos/#uninstall-docker-ce
docker 默认使用的是 unix socket
查看 docker 版本 [root@docker01 docker]# docker version Client: Version: 17.09.0-ce API version: 1.32 Go version: go1.8.3 Git commit: afdb6d4 Built: Tue Sep 26 22:41:23 2017 OS/Arch: linux/amd64 Server: Version: 17.09.0-ce API version: 1.32 (minimum version 1.12) Go version: go1.8.3 Git commit: afdb6d4 Built: Tue Sep 26 22:42:49 2017 OS/Arch: linux/amd64 Experimental: false [root@docker01 docker]# 安装好的 docker 系统有两个程序:docker 服务端和 docker 客户端。其中 docker 服 务端是一个服务进程,管理着所有的容器。docker 客户端则扮演着 Docker 服务端的远程 控制器,可以用来控制 docker 的服务端进程。大部分情况下 docker 服务端和客户端运行 在一台机器上。 附:直接输入 docker 命令来查看所有的 Options 和 Commands,查看某一个 command 的详细使用方法:docker COMMAND --help