ubuntu环境:
Distributor ID: Ubuntu
Description: Ubuntu 16.04.2 LTS
Release: 16.04
Codename: xenial
以下命令可查看ubuntu版本:
sudo lsb_release -a
参考安装教程:docker官网: https://docs.docker.com/engine/install/
B站狂神docker教程视频:https://www.bilibili.com/video/BV1og4y1q7M4?p=6,注意这个视频是以CenterOs为例安装docker的
这里以docker官网教程为主
1. 先卸载旧版本的docker
如果没有安装过docker的ubuntu系统可以忽略。
官网一开始给出一条命令:
sudo apt-get remove docker docker-engine docker.io containerd runc
经过实践,单单这条命令是卸载不了的docker的,还需要以下两条命令:
(1)卸载Docker Engine,CLI和Containerd软件包:
sudo apt-get purge docker-ce docker-ce-cli containerd.io
(2)主机上的映像,容器,卷或自定义配置文件不会自动删除。要删除所有图像,容器和卷,就要手动删除:
sudo rm -rf /var/lib/docker
官网教程也有详细的卸载教程https://docs.docker.com/engine/install/ubuntu/#uninstall-docker-engine
卸载旧版本docker干净后就可以接下来安装docker了
2.使用仓库(repository)来安装
(1)更新apt
软件包索引并安装软件包以允许apt
通过HTTPS使用存储库:
sudo apt-get update
sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
gnupg-agent \
software-properties-common
(2)添加Docker的官方GPG密钥:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo apt-key fingerprint 0EBFCD88
(3)使用以下命令来设置稳定的存储库。
sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable nightly test"
3. 安装docker(Docker Engine)
sudo apt-get install docker-ce docker-ce-cli containerd.io
docker-ce:表示这是docker社区版
企业版是docker-ee
这里默认是安装docker的最新版本的,如要安装特定版本的Docker Engine,请参考https://docs.docker.com/engine/install/ubuntu/
到这里,docker已经安装完了,接下来测试是否已经安装成功。
4.通过运行hello-world
映像来验证是否正确安装了Docker
步骤3安装完docker后,docker已经自动启动了,所以无需我们手动启动。好像在CenterOS中要手动启动。
CenterOS手动启动docker命令:
systemctl start docker
所以直接运行helloworld:
docker run hello-world
看到以上输出信息,就说明已经安装docker成功了。
这里解释一下docker的运行顺序,比较重要的知识点。
首先我们刚安装的docker是没有hello-world这个镜像的,因此截图中第一行说在本地找不到这个镜像,第二行执行了pull从网上(dockerhub)拉取hello-word镜像回来。所以可以看出docker容器运行的顺序是
(1).先在本地主机docker仓库中搜索对应镜像(例如hello-world),如果找不到,就到网上镜像源(dockerhub,阿里云)搜索
(2)在网上镜像源(dockerhub,阿里云)搜索到了,然后执行docker pull命令从镜像源拉取hello-world镜像到本地主机仓库
(3)然后以本地主机hello-world镜像创建一个容器并运行。
5. 配置阿里云镜像加速
安装完docker后,默认是dockerhub镜像源,是国外的网站,pull拉取镜像时下载速度非常慢。因此我们需要使用国内的镜像源,国内有名的镜像源就是阿里云、网易云等。所以下面配置阿里云镜像加速。
(1)使用自己的阿里云账号登陆
(2)找到容器镜像服务,点击进去
(3)点击管理控制台
(4)首次使用阿里云进去这里,需要设置Registry登陆密码
(5)找到镜像加速地址
(6)配置使用
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://w102lieg.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
很奇怪的是我的ubuntu执行这两条命令时都报同样的错误,有大佬懂什么原因的话请在评论中指导指导,谢谢!
sudo systemctl daemon-reload
sudo systemctl restart docker
因此使用以下命令重启docker服务
sudo service docker restart