5a78a59eeffae6f4f904c86c0958dca5
Docker 入门——安装(CentOS)、镜像、容器

Docker简介

什么是docker

官方解释

Docker is the company driving the container movement and the only container platform provider to address every application across the hybrid cloud. Today’s businesses are under pressure to digitally transform but are constrained by existing applications and infrastructure while rationalizing an increasingly diverse portfolio of clouds, datacenters and application architectures. Docker enables true independence between applications and infrastructure and developers and IT ops to unlock their potential and creates a model for better collaboration and innovation.

Google翻译:

Docker是推动集装箱运动的公司,也是唯一一家应对整个混合云中的每个应用的集装箱平台提供商。 当今的企业面临着数字化转型的压力,但受到现有应用程序和基础架构的制约,同时合理化日益多样化的云,数据中心和应用程序架构产品组合。 Docker实现了应用程序和基础架构与开发人员和IT操作员之间的真正独立性,从而发挥他们的潜力并创建更好的协作和创新模式。

《Docker从入门到实践》介绍 “什么是Docker”

为什么用docker

在微服务的大背景下,一台物理机或者云主机可能要运行很多应用。应用必须依赖于开发环境。当我们遇到拓展物理机、云主机、应用迁移等场景,必然要重新搭建开发环境。这时,虚拟化技术就很好地保证环境一致、配置一致,并且让你更高效地迁移应用。

Docker正是应对这种场景的虚拟化技术。例如java,只要机器上安装了JVM,一份代码到处运行。应用好比java,只要机器上安装docker,我们事先保存的镜像可以到处运行。这些镜像可以是nginx、php、mysql、数据仓库等,无论你的主机从ubuntu迁移到centos,还是windows迁移linux,只要主机安装了docker,就能迅速地部署好新环境,并且保持环境、配置一致。

详情参考 《Docker从入门到实践》—— “为什么用Docker”


镜像、容器、仓库

镜像,是特殊的文件系统,他包含程序、配置、资源等;

容器,镜像的实例。就像是类和实例一样,镜像是静态的定义,容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等。

仓库,用于保存镜像的服务。

详情参考《Docker从入门到实践》——基本概念


笔者的开发环境:

国外VPS
操作系统CentOS 7

安装

安装之前,建议先yum -y upgrade更新软件包。

官方安装脚本

  • curl -sSL https://get.docker.com/ | sh

官方安装指南:docker/docker-install

阿里云安装脚本

由于国内墙的原因,如果安装官方脚本很慢,可以试试阿里云安装脚本:

  • curl -sSL http://acs-public-mirror.oss-cn-hangzhou.aliyuncs.com/docker-engine/internet | sh -

如果你是其他操作系统,参考一下《安装 Docker》

重启docker

  • service docker restart

这一步很重要,如果不重启,docker pull时会有如下错误:

  • Warning: failed to get default registry endpoint from daemon (Cannot connect to the Docker daemon. Is the docker daemon running on this host?)...

镜像

搜索镜像

你可以在Docker HubDocker Store上搜索你要的镜像。例如,你要找nginx

1.搜索nginx

2.浏览官方nginx镜像详情,可以看到有很多版本(准确来说是tag)选择

拉取镜像

从 Docker Registry 获取镜像的命令是 docker pull官方文档。其命令格式为:

  • docker pull [选项] name[:tag]

例如,拉取刚才搜到的nginx:latest

  • docker pull nginx

如果你想拉取某个tagnginx,则执行docker pull nginx:{tag},例如docker pull nginx:1.13。如不写tag,默认latest

如果出现如下信息,说明安装成功

  • Using default tag: latest
  • latest: Pulling from library/nginx
  • 8176e34d5d92: Pull complete
  • cb1142c3ae99: Pull complete
  • 45b531966c63: Pull complete
  • Digest: sha256:0ffc09487404ea43807a1fd9e33d9e924d2c8b48a7b7897e4d1231a396052ff9
  • Status: Downloaded newer image for nginx:latest

列出本地镜像

  • $ docker images
  • REPOSITORY TAG IMAGE ID CREATED SIZE
  • nginx latest 9e988ed19567 43 hours ago 109MB

说明已拉取一个nginx:latest镜像到本地了。

删除镜像

使用docker rmi命令删除镜像,官方文档。格式是:

  • docker rmi -f {repository}:{tag}


```

top Created with Sketch.