一、安装指定版本docker
1. 下载deb文件
选择Ubuntu的deb文件
访问https://download.docker.com/linux/ubuntu/dists/ 来选择Ubuntu, 然后选择pool/stable/,选择CPU类型 amd64, armhf, arm64, ppc64el, or s390x, 并下载希望安装的Docker引擎.
本次Ubuntu选择的位于下面的17的最新版
https://download.docker.com/linux/ubuntu/dists/xenial/pool/stable/amd64/
选择CentOS的deb文件
CentOS 可以参考https://download.docker.com/linux/centos/7/x86_64/stable/Packages/
下载deb文件
mkdir ~/download
cd ~/download
wget https://download.docker.com/linux/ubuntu/dists/xenial/pool/stable/amd64/docker-ce_17.12.1~ce-0~ubuntu_amd64.deb
2. 安装docker ce
安装刚才下载的包。
sudo dpkg -i ~/download/docker-ce_17.12.1~ce-0~ubuntu_amd64.deb
如果出现下面的问题:
dpkg: dependency problems prevent configuration of docker-ce:
docker-ce depends on libltdl7 (>= 2.4.6); however:
Package libltdl7 is not installed.
说明依赖包libltdl7 没有安装。按照下面的办法安装即可解决。
sudo apt update -y
sudo apt install -y libltdl7
3. 检查是否正常安装完成
3.1 检查版本:
sudo docker version
下面是执行例子:
ubuntu@VM-0-12-ubuntu:~/download$ sudo docker version
Client:
Version: 17.12.1-ce
API version: 1.35
Go version: go1.9.4
Git commit: 7390fc6
Built: Tue Feb 27 22:17:40 2018
OS/Arch: linux/amd64
Server:
Engine:
Version: 17.12.1-ce
API version: 1.35 (minimum version 1.12)
Go version: go1.9.4
Git commit: 7390fc6
Built: Tue Feb 27 22:16:13 2018
OS/Arch: linux/amd64
Experimental: false
3.2 运行Hello World:
sudo docker run hello-world
正常情况下会出现“Hello from Docker!”的信息。说明安装成功了。
二、添加国内镜像源
本办法针对Docker客户端版本大于 1.10.0 的用户。
添加镜像源
通过修改daemon配置文件/etc/docker/daemon.json来使用加速器。
如果本配置文件及其路径不存在,那就创建新的。
sudo mkdir -p /etc/docker
sudo nano /etc/docker/daemon.json
{
"registry-mirrors": [
"https://dockerhub.azk8s.cn",
"https://docker.mirrors.ustc.edu.cn",
"https://registry.docker-cn.com"
]
}
常用国内镜像源。
镜像源 | 备注 |
---|---|
https://dockerhub.azk8s.cn | Azure 中国 |
registry.docker-cn.com | Docker 中国官方镜像 |
https://docker.mirrors.ustc.edu.cn | 中科大镜像 |
https://mirror.ccs.tencentyun.com | 腾讯云镜像 |
阿里云会为不同的ECS(云主机)安排不同的镜像源,需要到控制台去取一下这个对应的镜像源位置。
阿里云镜像源获取办法: 控制台》产品与服务》弹性计算》容器镜像服务》镜像中心》镜像加速器,进入后可以得到一个专属的镜像加速地址。类似于“https://xxxxx.mirror.aliyuncs.com”。
下面是阿里云自动生成的一段脚本的一个例子。
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://8abi9l1f.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
让加速器生效
sudo systemctl daemon-reload
sudo systemctl restart docker
检查镜像源是否成功添加
执行下面的命令,如果从结果中看到了上面增加的镜像源,则说明配置成功。
sudo docker info
Registry Mirrors:
https://dockerhub.azk8s.cn/
https://docker.mirrors.ustc.edu.cn/
https://registry.docker-cn.com/