官方安装说明文档 https://docs.docker.com/engine/install/ubuntu/
操作系统要求
需要以下Ubuntu版本之一的64位版本:
Docker Engine支持 x86_64 / amd64
、armhf
、arm64
、s390x (IBM Z)
和ppc64le (IBM Power)
架构。
查看Ubuntu架构的命令为uname -m
。
查看内核版本的命令为uname -r
。
卸载旧版本
Docker旧版本叫做docker
、docker.io
或者docker-engine
,如果已安装,请卸载它们。
sudo apt-get remove docker docker-engine docker.io containerd runc
/var/lib/docker/目录下的内容(镜像,容器,卷和网络)会被保留,新版Docker Engine叫做docker-ce
。
支持的存储驱动
Ubuntu上的Docker Engine支持overlay2
、aufs
和btrfs
存储驱动。
Docker Engine默认使用overlay2
存储驱动(推荐)。
安装方法
根据需要以不同的方式安装Docker Engine:
本文使用推荐方法安装。
使用存储库安装
在新主机上首次安装Docker Engine之前,需要设置Docker存储库。之后可以从存储库安装和更新Docker。
更新apt
软件包索引并安装软件包以允许apt
通过HTTPS使用存储库:
sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common
添加Docker的官方GPG密钥:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
搜索指纹的后8个字符,验证是否拥有带有指纹的密钥
9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88
。
sudo apt-key fingerprint 0EBFCD88
`pub 4096R/0EBFCD88 2017-02-22
密钥指纹 = 9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88
uid Docker Release (CE deb) <docker@docker.com>
sub 4096R/F273FCD8 2017-02-22`
使用以下命令来设置stable存储库,要添加nightly存储库或者test存储库只需要在下面命令中单词stable后面添加单词nightly或test(或两者都添加)。
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
其中arch
根据Ubuntu系统框架进行选择,$(lsb_release -cs)
命令用于获取Ubuntu发行版的名称
安装DOCKER ENGINE
更新apt
程序包索引,并安装最新版本的Docker Engine和容器,或转到下一步以安装特定版本:
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io
要安装特定版本的Docker Engine,请在存储库中列出可用版本,然后选择并安装:
列出列出仓库中可用的版本:
apt-cache madison docker-ce
`docker-ce | 5:19.03.8~3-0~ubuntu-xenial | http://mirrors.aliyun.com/docker-ce/linux/ubuntu xenial/stable amd64 Packages
docker-ce | 5:19.03.8~3-0~ubuntu-xenial | https://download.docker.com/linux/ubuntu xenial/stable amd64 Packages
docker-ce | 5:19.03.7~3-0~ubuntu-xenial | http://mirrors.aliyun.com/docker-ce/linux/ubuntu xenial/stable amd64 Packages
...`
使用第二列中的版本字符串安装特定版本,例如5:19.03.8~3-0~ubuntu-xenial
sudo apt-get install docker-ce=<VERSION_STRING> docker-ce-cli=<VERSION_STRING> containerd.io
通过运行hello-world 映像来验证是否正确安装了Docker Engine
sudo docker run hello-world
如果出现docker: Error response from daemon: Get https://registry-1.docker.io/v2/: net/http: request canceled (Client.Timeout exceeded while awaiting headers).
错误,因为docker默认国外源,更换为国内源:参考https://blog.csdn.net/BigData_Mining/article/details/87869147
Docker 官方中国区
https://registry.docker-cn.com
网易
http://hub-mirror.c.163.com
中国科技大学
https://docker.mirrors.ustc.edu.cn
阿里云
https://pee6w651.mirror.aliyuncs.com
sudo vi /etc/docker/daemon.json
{
"registry-mirrors": ["https://registry.docker-cn.com","http://hub-mirror.c.163.com"]
}
service docker restart
DOCKER基本操作
参考http://dockone.io/article/9209