在Ubuntu上安装Docker

时间:2024-04-01 19:15:08

Docker在Windows和Linux中都是以服务(Service)的形式工作。本帖介绍在Ubuntu 18.04的Linux环境中安装Docker服务引擎的方法。

(一)安装Docker服务引擎
安装Docker服务本身很简单,运行下面的命令就可以了:
sudo apt install docker.io
正常情况下,这个命令只需要交互一次,确认一个磁盘空间占用问题,输入Y回车,如下图:
在Ubuntu上安装Docker
等各个组件下载安装都完成之后,会有一个重启守护进程(Docker daemon)的提示,如下图:
在Ubuntu上安装Docker
使用箭头键选到<Yes>,回车,Docker服务引擎的安装就完成了。
想要验证安装是否成功,可执行如下命令,查看Docker版本信息:
docker --version
正常情况下,会显示类似下面这样的信息:
Docker version 19.03.5, build 633a0ea

(二)下载运行hello-world镜像
为了验证Docker服务引擎是否安装成功,可下载运行hello-world示例镜像,方法是:
(1)从镜像仓库中拉取或者更新指定镜像
执行以下命令:
sudo docker pull hello-world
根据网速不同,这个过程可能耗时长短不一。看到Downloaded...的信息就表示拉取(下载)成功。
在Ubuntu上安装Docker

(2)为示例镜像创建一个新的容器并运行之
执行以下命令:
sudo docker run hello-world

看到 Hello from Docker的信息就表示执行成功,如下图:
在Ubuntu上安装Docker

(三)常见问题
根据Ubuntu的版本、环境中已有的组件包的不同,安装Docker引擎、拉取运行镜像时,可能会执行失败。
典型的错误信息包括:
(1)Failed to fetch http://... apt update 404 Not Found [IP: 91.189.91.15 80]... 
含义是找不到安装包文件。
(2)TLS handshake timeout
含义是超时,如下图:
在Ubuntu上安装Docker
解决这些问题的办法,一是修改DNS服务器,以便正确解析国外的域名,二是更新系统管理组件,三是改用国内的镜像。
(1)修改DNS服务器
执行以下命令:
sudo vi /etc/resolv.conf
将nameserver改为8.8.8.8,如下图:
在Ubuntu上安装Docker


(2)更新系统组件
执行如下命令:
sudo apt-get install update-manager-core
sudo do-release-upgrade
实测表明,第二个命令似乎可省。


(3)改用国内镜像站点
方法一:执行如下命令,修改环境变量:
echo "DOCKER_OPTS=\"\$DOCKER_OPTS --registry-mirror=http://hub-mirror.c.163.com\"" | sudo tee -a /etc/default/docker
sudo service docker restart
方法二:编辑修改daemon.json
执行如下命令:
sudo vi /etc/docker/daemon.json
将以下内容贴进该文件:
{
"registry-mirrors": [
"https://kfwkfulq.mirror.aliyuncs.com",
"https://2lqq34jg.mirror.aliyuncs.com",
"https://pee6w651.mirror.aliyuncs.com",
"https://registry.docker-cn.com",
"http://hub-mirror.c.163.com"
],
"dns": ["8.8.8.8","8.8.4.4"]
}
保存后,执行以下命令,重启docker服务:
systemctl restart docker