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
依据你的需求,安装有不同的方法:
- 大多数用户设置Docker库然后安装,对安装和升级任务轻松。这是推荐的方法。
- 有些用户下载RPM包并手动安装,并完全手动管理升级。没有互联网连接下的好方法。
- 在测试和开发环境,一些用户选择使用自动化脚本安装Docker。
OS要求:
- 需要一个维护版本的CentOS7,Archived versions或者test版不被支持
- centos-extras 仓库需要激活,默认在centos7上是激活的
- overlay2 存储驱动是被推荐使用
卸载旧版本
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
/var/lib/docker/的内容,包括镜像,容器,卷和网络都被保留。Docker CE包现在称为docker-ce ,Docker EE包现在称为docker-ee。
使用docker yum仓库安装:
第一次在新主机上安装Docker CE,需要先设置Docker yum仓库,然后你可以从yum仓库安装和更新Docker。
- 安装需求包:
安装所需的软件包 yum-utils提供了yum-config-manager实用程序, device-mapper-persistent-data和lvm2是devicemapper(设备映射)存储驱动程序所必需的。
$ sudo yum install -y yum-utils \
device-mapper-persistent-data \
lvm2
- 安装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
- 选项:
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
- 安装最新版本:
yum install docker-ce
这个命令会安装最新版本,安装完后,并不会启动docker,会创建docker组,但是组中没有任何用户。
- 可以使用以下命令列出可用版本,选择安装不同版本。
yum list docker-ce --showduplicates | sort -r
- 启动docker
systemctl start docker
- 测试,检查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 加速器
灵雀云加速器
- 注册一个阿里的账号
- 进行加速器页面https://cr.console.aliyun.com/#/accelerator
- 复制你的加入器URL
- 配置镜像加速器
针对Docker客户端版本大于 1.10.0 的用户
您可以通过修改daemon配置文件/etc/docker/daemon.json来使用加速器
本例是CentOS系统:
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://ariq3452.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
也可以使用rpm包进行安装,需要到https://download.docker.com/linux/centos/7/x86_64/stable/Packages/下载软件包
然后使用命令安装即可
卸载docker-ce
- 卸载docker软件包
$ sudo yum remove docker-ce
- 镜像、容器、卷和自定义的配置文件不会自动删除。
$ sudo rm -rf /var/lib/docker
必须手动删除任意的配置文件
参考资料:https://docs.docker.com/engine/installation/linux/docker-ce/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