共计 2489 个字符,预计需要花费 7 分钟才能阅读完成。
Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。
Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。
容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app), 更重要的是容器性能开销极低。
Docker 的应用场景
- Web 应用的自动化打包和发布。
- 自动化测试和持续集成、发布。
- 在服务型环境中部署和调整数据库或其他的后台应用。
- 从头编译或者扩展现有的 OpenShift 或 Cloud Foundry 平台来搭建自己的 PaaS 环境。
Docker 的优点
- 1、简化程序:
Docker 让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,便可以实现虚拟化。Docker 改变了虚拟化的方式,使开发者可以直接将自己的成果放入 Docker 中进行管理。方便快捷已经是 Docker 的最大优势,过去需要用数天乃至数周的 任务,在 Docker 容器的处理下,只需要数秒就能完成。
- 2、避免选择恐惧症:
如果你有选择恐惧症,还是资深患者。Docker 帮你打包你的纠结!比如 Docker 镜像;Docker 镜像中包含了运行环境和配置,所以 Docker 可以简化部署多种应用实例工作。比如 Web 应用、后台应用、数据库应用、大数据应用比如 Hadoop 集群、消息队列等等都可以打包成一个镜像部署。
- 3、节省开支:
一方面,云计算时代到来,使开发者不必为了追求效果而配置高额的硬件,Docker 改变了高性能必然高价格的思维定势。Docker 与云的结合,让云空间得到更充分的利用。不仅解决了硬件管理的问题,也改变了虚拟化的方式。
1.Docker 的安装:
Docker 支持以下的 CentOS 版本:
- CentOS 7 (64-bit)
- CentOS 6.5 (64-bit) 或更高的版本
1.2 前提条件
目前,CentOS 仅发行版本中的内核支持 Docker。
Docker 运行在 CentOS 7 上,要求系统为 64 位、系统内核版本为 3.10 以上。
Docker 运行在 CentOS-6.5 或更高的版本的 CentOS 上,要求系统为 64 位、系统内核版本为 2.6.32-431 或者更高版本。
我的操作系统版本:
centos7 官方安装 docker CE 说明:https://docs.docker.com/install/linux/docker-ce/centos/
Docker 软件包和依赖包已经包含在默认的 CentOS-Extras 软件源里,可以更新 yum 源选择 yum install 的方法安装,也可以选择下载 rpm 安装包
官方下载地址:https://download.docker.com/linux/centos/7/x86_64/stable/Packages/
1.3 使用 wget 命令进行下载 rpm 包
创建一个 downloads 文件夹,然后使用 wget 命令进行下载
[root@sungeek downloads]# wget https://download.docker.com/linux/centos/7/x86_64/stable/Packages/docker-ce-18.03.1.ce-1.el7.centos.x86_64.rpm
[root@sungeek downloads]# yum install docker-ce-18.03.0.ce-1.el7.centos.x86_64.rpm
1.4 使用 yun install 直接安装
我这边是用了 yum update 方式更新 yum 源然后 yum install 安装
[root@sungeek downloads]# yum update
[root@sungeek downloads]# yum -y install docker-io
[root@localhost downloads]# docker –version – 查看版本,最好是用 wget 方式,那样可以找到对应最新的安装包
Docker version 1.13.1, build 94f4240/1.13.1
1.5 启动 Docker 进程
[root@localhost downloads]# systemctl start docker
[root@localhost downloads]# systemctl status docker
[root@localhost downloads]# systemctl enable docker – 设置开机自启动 docker 服务
1.6 验证安装是否成功
直接输入 docker 列出该命令的用法
测试运行第一个容器:hello-world
由于本地没有 hello-world 这个镜像,所以会下载一个 hello-world 的镜像,并在容器内运行。
2. 最常用的几条命令
2.1 使用 docker images 查看镜像
[root@localhost downloads]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.io/hello-world latest e38bc07ac18e 2 months ago 1.85 kB
2.2 使用 docker ps -a 查看容器
[root@localhost downloads]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
3fa4f2de1c01 hello-world “/hello” 4 minutes ago Exited (0) 4 minutes ago elastic_lumiere
docker ps 也是最常用的命令,-a : 显示所有的容器,包括未运行的。
2.3 使用 docker logs 查看容器控制台输出
获取容器的日志
docker logs [container]
: