Docker
作为一种新兴的虚拟化方式,Docker
跟传统的虚拟机方式相比具有众多的优势。Docker
可以更高效的利用系统资源、更快速的启动时间、一致的运行环境、持续交付和部署、更轻松的迁移、更轻松的维护和扩展。
博主第一次使用Docker
就深深喜欢上了这种方式,一次配置,到处运行,不用再反反复复的配置环境可以说是非常的方便了。本篇博客就来说一说Docker
的安装及基本使用方法,后续还会不定时的更新Docker
系列博客。
对比传统虚拟机
Docker
是什么?Docker
属于容器
的一种技术封装,提供更为简单易用的使用接口,让开发运维人员可以更方便快捷的使用容器
。
特性 | 容器 | 虚拟机 |
---|---|---|
启动 | 秒级 | 分钟级 |
硬盘使用 | 一般为 MB | 一般为 GB |
性能 | 接近原生 | 弱于 |
系统支持量 | 单机支持上千个容器 | 一般几十个 |
从上面对比来看,容器
的各方面性能及特性是优于虚拟机
的。
Docker 的安装
Docker
是一个开放源码的产品,分为 社区版(Community Edition,缩写为 CE)和 企业版(Enterprise Edition,缩写为 EE)。社区版是免费的,而企业版包含一些收费服务,一般来说个人开发者用社区版就足够了,本篇博文的教程也只是针对社区版。
安装环境及版本:
- 系统:ubuntu 18.04 LTS
- Docker 版本:18.9.05
英文好的小伙伴也可以直接阅读官方文档,本文只详细介绍 Ubuntu
系统下的 Docker
安装,其他系统的安装请自行参考官方文档。
卸载老版本
一般来说Ubuntu
系统中默认是不会安装Docker
的,但是如果安装了老版本的话可以使用下面的命令进行卸载。
$ sudo apt-get remove docker docker-engine docker.io containerd runc
安装 Docker CE
安装Docker CE
有多种不同的方式:
- 设置
Docker
的存储库,然后安装。这种方式便于安装及更新,也是最推荐的方式。 - 下载DEB软件包,手动安装并完全手动管理升级。
- 在测试和开发环境中,部分用户选择使用自动便捷脚本来安装
Docker
。
本篇博客将介绍第一种安装方式。
设置 Docker 存储库
1、更新apt
包索引:
$ sudo apt-get update
2、允许apt
通过HTTPS使用存储库来安装软件:
$ sudo apt-get install -y apt-transport-https ca-certificates curl gnupg-agent software-properties-common
3、添加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 rsa4096 2017-02-22 [SCEA]
9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88
uid [ unknown] Docker Release (CE deb) <docker@docker.com>
sub rsa4096 2017-02-22 [S]
4、使用下面的命令去设置稳定版的存储库。
$ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
安装 Docker CE
1、更新apt
包索引:
$ sudo apt-get update
2、安装最新版本的 Docker CE
和 containerd
:
$ sudo apt-get install -y docker-ce docker-ce-cli containerd.io
3、验证Docker
使用下面的命令查看Docker
的版本
$ docker -v
然后使用下面的命令可以运行hello-world
程序,因为Docker
中还没有hello-world
程序的镜像,所以会先pull
(下载)下来然后运行。
$ sudo docker run hello-world
如果看到打印 Hello for Docker!
说明程序已经运行成功了。
卸载 Docker
1、卸载 Docker CE
$ sudo apt-get purge docker-ce
2、主机上的镜像、容器、卷或者自定义配置文件是不会自动删除的,需要使用下面的命令手动删除这些文件:
$ sudo rm -rf /var/lib/docker
Docker 的使用
Docker 的启动、关闭等
可以使用下面的命令对Docker
进行启动、关闭、重启等操作。
# 开启 Docker
$ sudo service docker start
# 关闭 Docker
$ sudo service docker stop
# 重启 Docker
$ sudo service docker restart
也可以使用systemctl
命令进行操作
# 开启 Docker
$ sudo systemctl start docker
# 关闭 Docker
$ sudo systemctl stop docker
# 重启 Docker
$ sudo systemctl restart docker
iamge 镜像文件
Docker 需要把应用程序及其相关的依赖打包成为一个image
镜像文件,这些镜像文件可以存储在云端的存储库中,用户可以将云端的镜像文件下载到本地,然后通过这个文件,生成Docker容器
的实例。
所以当你将你的应用程序及其依赖打包成一个image文件之后,可以将其上传到云端的仓库中,然后在任何一个装有Docker的机器中运行即可,这就是一次配置,到处运行,可以说是非常之方便了。
Docker
官方的仓库是 Docker Hub,这是最重要,也是最常用的一个image仓库了。
运行一个程序
下面我们使用上面使用过的hello-world
进行说明image
的使用。
1、查看本地image
列表
使用下面的命令查看本地已经存在的image
文件都有哪些,可以查看这些镜像的名称,标签,镜像ID,被创建时间,镜像大小。
# 查看本地 image
$ sudo docker image ls
2、下载image
到本地
使用下面的命令将image
文件从云端下载到本地。
# 下载 image
$ sudo docker pull hello-world
3、运行image
使用下面的命令可以运行image
。
$ sudo docker run hello-world
如果看到打印 Hello for Docker!
说明hello-world
程序已经运行成功了。
4、删除image
使用下面的命令删除本地的image
文件。
# 删除 image
$ sudo docker image rm -f hello-world
使用中国官方镜像加速
通过 Docker 官方镜像加速,中国区用户能够快速访问最流行的 Docker 镜像。该镜像托管于中国大陆,本地用户现在将会享受到更快的下载速度和更强的稳定性,从而能够更敏捷地开发和交付 Docker 化应用。
Docker 中国官方镜像加速可通过 registry.docker-cn.com
访问。该镜像库只包含流行的公有镜像。私有镜像仍需要从美国镜像库中拉取。
我们可以使用以下命令直接从该镜像加速地址进行拉取:
$ docker pull registry.docker-cn.com/myname/myrepo:mytag
# 例如
$ docker pull registry.docker-cn.com/library/ubuntu:16.04
为了永久性保留更改,我们可以修改 /etc/docker/daemon.json
文件并添加上 registry-mirrors
键值。
{
"registry-mirrors": ["https://registry.docker-cn.com"]
}
修改保存后重启 Docker 以使配置生效,重启命令 sudo service docker restart
。
安装 Docker Compose
Docker Compose 可以前往Compose repository release page on GitHub下载,也可以使用curl
命令在终端进行下载。
1、运行下面的命令来下载 Docker Compose 当前稳定版本:
$ sudo curl -L "https://github.com/docker/compose/releases/download/1.24.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
2、添加权限:
$ sudo chmod +x /usr/local/bin/docker-compose
3、验证安装:
$ docker-compose --version
docker-compose version 1.24.1, build 4667896b
4、卸载 Docker Compose:
如果你是使用curl
的方式安装的,则运行下面的命令删除docker-conpose的文件(本文使用此种方式安装):
$ sudo rm /usr/local/bin/docker-compose
如果你是使用 pip
的方式安装的,则运行下面的命令删除docker-conpose的文件:
$ sudo pip uninstall docker-compose
其它
关于Docker
的知识还有很多,我会在后续的文章继续介绍,欢迎您持续关注本博客。
更多技术文章欢迎关注我的博客主页:http://JemGeek.com
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。