Docker在Windows和Linux中都是以服务(Service)的形式工作。本帖介绍在Ubuntu 18.04的Linux环境中安装Docker服务引擎的方法。
(一)安装Docker服务引擎
安装Docker服务本身很简单,运行下面的命令就可以了:
sudo apt install docker.io
正常情况下,这个命令只需要交互一次,确认一个磁盘空间占用问题,输入Y回车,如下图:
等各个组件下载安装都完成之后,会有一个重启守护进程(Docker daemon)的提示,如下图:
使用箭头键选到<Yes>,回车,Docker服务引擎的安装就完成了。
想要验证安装是否成功,可执行如下命令,查看Docker版本信息:
docker --version
正常情况下,会显示类似下面这样的信息:
Docker version 19.03.5, build 633a0ea
(二)下载运行hello-world镜像
为了验证Docker服务引擎是否安装成功,可下载运行hello-world示例镜像,方法是:
(1)从镜像仓库中拉取或者更新指定镜像
执行以下命令:
sudo docker pull hello-world
根据网速不同,这个过程可能耗时长短不一。看到Downloaded...的信息就表示拉取(下载)成功。
(2)为示例镜像创建一个新的容器并运行之
执行以下命令:
sudo docker run hello-world
看到 Hello from Docker的信息就表示执行成功,如下图:
(三)常见问题
根据Ubuntu的版本、环境中已有的组件包的不同,安装Docker引擎、拉取运行镜像时,可能会执行失败。
典型的错误信息包括:
(1)Failed to fetch http://... apt update 404 Not Found [IP: 91.189.91.15 80]...
含义是找不到安装包文件。
(2)TLS handshake timeout
含义是超时,如下图:
解决这些问题的办法,一是修改DNS服务器,以便正确解析国外的域名,二是更新系统管理组件,三是改用国内的镜像。
(1)修改DNS服务器
执行以下命令:
sudo vi /etc/resolv.conf
将nameserver改为8.8.8.8,如下图:
(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
相关文章
- 在基于Ubuntu或Debian的Linux系统上安装KeePass Password Safe
- Oracle 12c 学习——在win10上安装Oracle 12c
- 在创建 MDS Web 应用程序之前,您必须更正以下错误: Internet Information Services (IIS)在此服务器上未正确配置。 未安装这些必需的 Web 服务器角色服务:
- 「LAMP」在ubuntu及其衍生版上 安装LAMP
- 在ubuntu14.04上安装ROS(robot operating system)
- 在 ubuntu 上运行 php 脚本
- Kdevelop在ubuntu下的安装和汉化详细步骤
- Ubuntu无法在opt目录下安装软件
- Groovy入门(一)在MAC上安装并配置Groovy环境 简单实例
- 在ubuntu18.04中安装idea报错:Startup Error: Unable to detect graphics environment