Docker简介
Docker是一个开源的容器引擎,它有助于更快地交付应用。 Docker可将应用程序和基础设施
层隔离,并且能将基础设施当作程序一样进行管理。使用 Docker可更快地打包、测试以及部
署应用程序,并可以缩短从编写到部署运行代码的周期。
Docker的优点如下:
1、简化程序
Docker 让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流
行的 Linux 机器上,便可以实现虚拟化。Docker改变了虚拟化的方式,使开发者可以直接将
自己的成果放入Docker中进行管理。方便快捷已经是 Docker的最大优势,过去需要用数天乃
至数周的 任务,在Docker容器的处理下,只需要数秒就能完成。
2、避免选择恐惧症
如果你有选择恐惧症,还是资深患者。Docker 帮你 打包你的纠结!比如 Docker 镜像;
Docker 镜像中包含了运行环境和配置,所以 Docker 可以简化部署多种应用实例工作。比如
Web 应用、后台应用、数据库应用、大数据应用比如 Hadoop 集群、消息队列等等都可以打
包成一个镜像部署。
3、节省开支
一方面,云计算时代到来,使开发者不必为了追求效果而配置高额的硬件,Docker 改变了高
性能必然高价格的思维定势。Docker 与云的结合,让云空间得到更充分的利用。不仅解决了
硬件管理的问题,也改变了虚拟化的方式。
Docker的架构
Docker 安装
Docker CE 的安装请参考官方文档,我们这里以CentOS为例:
1、Docker 要求 CentOS 系统的内核版本高于 3.10
1、通过 uname -r 命令查看你当前的内核版本
2、使用 root 权限登录 Centos。确保 yum 包更新到最新。
3、卸载旧版本(如果安装过旧版本的话)
# yum remove docker docker-common docker-selinux docker-engine
4、安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的
# yum install -y yum-utils device-mapper-persistent-data lvm2
5、设置yum源,并更新 yum 的包索引
# yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
6、可以查看所有仓库中所有docker版本,并选择特定版本安装
# yum list docker-ce --showduplicates | sort -r
7、安装docker
# yum install docker-ce #由于repo中默认只开启stable仓库,故这里安装的是最新稳定版18.03.1yum install docker-ce-18.03.1.ce
8、启动并加入开机启动
# systemctl start docker
# systemctl enable docker9、验证安装是否成功(有client和service两部分表示docker安装启动都成功了)
# docker version10、卸载docker
# yum -y remove docker-engine
Docker 常用命令
1、搜索镜像
可使用 docker search命令搜索存放在 Docker Hub中的镜像。执行该命令后, Docker就会在Docker Hub中搜索含有 java这个关键词的镜像仓库。以上列表包含五列,含义如下:
- NAME:镜像仓库名称。
- DESCRIPTION:镜像仓库描述。
- STARS:镜像仓库收藏数,表示该镜像仓库的受欢迎程度,类似于 GitHub的 stars0
- OFFICAL:表示是否为官方仓库,该列标记为[0K]的镜像均由各软件的官方项目组创建和维护。
- AUTOMATED:表示是否是自动构建的镜像仓库。
该地方搜索跟 docker官网搜索是一样的 https://hub.docker.com
2.下载镜像
使用命令docker pull命令即可从 Docker Registry上下载镜像,执行该命令后,Docker会从Docker Hub中的 java仓库下载最新版本的 Java镜像。如果要下载指定版本则在java后面加冒号指定版本,例如:docker pull java:8
3、列出镜像
使用 docker images命令即可列出已下载的镜像
以上列表含义如下
- REPOSITORY:镜像所属仓库名称。
- TAG:镜像标签。默认是 latest,表示最新。
- IMAGE ID:镜像 ID,表示镜像唯一标识。
- CREATED:镜像创建时间。
- SIZE: 镜像大小。
4、删除本地镜像
使用 docker rmi命令即可删除指定镜像
# docker rmi java
容器相关命令
使用命令docker pull命令即可从 Docker Registry上下载镜像,执行该命令后,Docker会从Docker Hub中的 java仓库下载新版本的 Java镜像。如果要下载指定版本则在java后面加冒号指定版本,例如:docker pull java:8
# docker pull java:8下载镜像:
列出镜像
# docker images
以上列表含义如下
- REPOSITORY:镜像所属仓库名称。
- TAG:镜像标签。默认是 latest,表示最新。
- IMAGE ID:镜像 ID,表示镜像唯一标识。
- CREATED:镜像创建时间。
- SIZE: 镜像大小。
删除本地镜像
使用 docker rmi命令即可删除指定镜像
# docker rmi java