第二章 Docker环境安装

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。--摘自《百度百科》

终于到了我们的Docker环境安装的部分了,第一章算是前期环境搭建吧。Docker的环境安装安装还是比较麻烦的,网上也有很多的教程,良莠不齐。如果作为第一次安装Docker环境的读者来说,90%的可能是安装不成功的,安装过程中会遇到各种各样的问题。实话说,这章也只是在Ubuntu18.04的环境上安装Docker,如果读者选择的和我一致的版本的话,安装成功的可能性比较大。

2.1 配置Ubuntu的apt-get源

使用系统自带的源下载软件比较慢,这里我们配置阿里的镜像源。

2.1.1 备份系统原始源

保存系统的原始源,以便后期需要可以进行恢复。

root@ubuntu:/etc/apt# mv sources.list sources.list.bak

2.1.2 添加阿里源地址

重新创建 sources.list 文件:

root@ubuntu:/etc/apt# vim sources.list

在新的sources.list文件中添加如下源地址:

deb-src http://archive.ubuntu.com/ubuntu xenial main restricted #Added by software-properties

deb http://mirrors.aliyun.com/ubuntu/ xenial main restricted

deb-src http://mirrors.aliyun.com/ubuntu/ xenial main restricted multiverse universe #Added by software-properties

deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted

deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted multiverse universe #Added by software-properties

deb http://mirrors.aliyun.com/ubuntu/ xenial universe

deb http://mirrors.aliyun.com/ubuntu/ xenial-updates universe

deb http://mirrors.aliyun.com/ubuntu/ xenial multiverse

deb http://mirrors.aliyun.com/ubuntu/ xenial-updates multiverse

deb http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse

deb-src http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse #Added by software-properties

deb http://archive.canonical.com/ubuntu xenial partner

deb-src http://archive.canonical.com/ubuntu xenial partner

deb http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted

deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted multiverse universe #Added by software-properties

deb http://mirrors.aliyun.com/ubuntu/ xenial-security universe

deb http://mirrors.aliyun.com/ubuntu/ xenial-security multiverse

添加完成后,保存退出,这样我们的源地址就配置完成了。

2.2 安装依赖的软件包

源配置完成后,还需要安装相关的系统依赖工具。

root@ubuntu:/# apt-get install apt-transport-https

root@ubuntu:/# apt-get install ca-certificates

root@ubuntu:/# apt-get install software-properties-common

root@ubuntu:/# apt-get install curl

温馨提示:在安装的过程中,缺少什么包,就可以使用apt-get 进行安装。

2.3 添加 GPG 密钥,并添加 Docker-ce 软件源

这里添加中国科技大学的 Docker-ce 源

root@ubuntu:/# curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg | apt-key add -

root@ubuntu:/# add-apt-repository "deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu $(lsb_release -cs) stable"

添加源到sources.list中,然后更新软件缓存:

root@ubuntu:/etc/apt# apt-get update

2.4 安装 Docker-ce

如果前期安装都比较顺利的话,安装Docker-ce并没有什么特别的,和其他的软件类似。之所以认为比较难安装,是因为刚接触Docker,对Docker并不是很了解,从内心就感到恐惧。当真正了解Docker的相关原理之后,再回过头来看下之前的安装过程,其实也没有多复杂的,

2.4.1 Docker-ce安装

root@ubuntu:/# apt-get install docker-ce

2.4.2 查看Docker版本

root@ubuntu:/# docker version

安装成功后,如图1-4-1所示,可以看到 Client端和Server端的版本。当前为 18.09.0 版本。

图 2-4-1 查询docker版本信息

2.4.3 设置开机自启动

root@ubuntu:/# systemctl enable docker

2.4.4 启动 Docker

root@ubuntu:/# systemctl start docker

2.4.5 添加用户到Docker组

root@ubuntu:/# groupadd docker

root@ubuntu:/# usermod -aG docker librant

$USER:librant 代表需要添加的用户,添加到用户组之后,可以不需要使用 sudo 运行Docker

2.5 配置 Docker 加速器

使用 Docker 的时候,需要经常从官方获取镜像,但是由于显而易见的网络原因,拉取镜像的过程非常耗时,严重影响使用 Docker 的体验。如果读者没有配置加速器,在拉取镜像的时候,会出现 “docker: Error response from daemon: ... : net/http: TLS handshake timeout.”的错误。

配置DaoCloud公司的加速器:

root@ubuntu:/# curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://f1361db2.m.daocloud.io

该脚本可以将 --registry-mirror 加入到你的 Docker 配置文件 /etc/docker/daemon.json 中。

2.6 拉取 Ubuntu 镜像

一切就绪之后,就是我们迫不及待的拉取镜像啦,使用 docker pull 命令:

root@ubuntu:/# docker pull ubuntu

如果出现如图1-6-1所示的界面,那么恭喜你,经过不懈的努力,终于完成了我们的Docker环境的搭建工作啦,后续Docker的学习就全靠它了。

图 1-6-1 拉取ubuntu镜像

2.7 总结

到目前为止,我们还只是拥有一个单机Docker环境,对于Docker的学习,还是冰山一角。第三章我们开始学习各种各样的Docker命令啦,千里之行,始于足下,让我们愉快的进入第三章的学习吧。

在Docker学习的过程中,如果碰到问题,直接留言即可,尽我最大努力解答。

参考资料:

【镜像加速器配置】https://www.daocloud.io/mirror

https://blog.csdn.net/yk20091201/article/details/80016135?utm_source=blogxgwz2

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

编辑于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏数据科学与人工智能

【Python环境】如何使用 Docker 快速配置数据科学开发环境?

数据科学开发环境配置起来让人头疼,会碰到包版本不一致、错误信息不熟悉和编译时间漫长等问题。这很容易让人垂头丧气,也使得迈入数据科学的这第一步十分艰难。而且这也是...

4685
来自专栏北京马哥教育

写给新手的十一条 Docker 守则

1765
来自专栏程序你好

从 Docker 的新手村出发?那么你需要这11条守则

1072
来自专栏友弟技术工作室

docker微服务初体验配置文件composedocker compose使用

8415
来自专栏老司机的技术博客

docker实战入门(3)基本概念

docker的镜像是一个层叠的只读文件系统,最底端是一个引导文件系统(bootfs),这很像典型的linux的引导文件系统,docker用户几乎永远不会和引导文...

56510
来自专栏Coding01

初次学习 Docker Volume 的基本使用 (四)

在很早的一篇帖子里 http://dockone.io/question/24 就有人问:「请教下代码放在 Docker 里面还是外面呢」多数人评论类似下面的观...

972

构建远程缓存系统

上个月,我们的工程团队发布了一个大的更新,关于在使用我们的Docker平台Jet时Docker镜像是如何被缓存和存储的。在本文中,我们将讨论更新的动机,特性的设...

2406
来自专栏coding

docker初体验

1521
来自专栏CSDN技术头条

Docker数据容器保护方式利弊

Docker是一个非常成功的Linux开源项目。它在Linux操作系统下无需增加管理器即可虚拟化应用程序。该应用程序常被抽象地误认为是操作系统(具有Linux内...

2517
来自专栏IT笔记

Docker学习之搭建JavaWeb环境

自上次从北京参加阿里云社区开发者进阶大会回来,就萌发了学习Docker的种子,尽管公司现在的业务并没有什么需求,但学习先进的东西总没有坏处。

5577

扫码关注云+社区

领取腾讯云代金券