Skip to content

Latest commit

 

History

History
139 lines (93 loc) · 5.17 KB

3-0-GetStart.md

File metadata and controls

139 lines (93 loc) · 5.17 KB

入门-导引和设置

1. Docker概念

Docker是开发人员和系统管理员使用容器来进行开发,部署和运行应用程序的一个平台。使用Linux容器部署应用程序称为容器化,容器不是一个新的概念,但是它们使得部署应用程序变得越来越简单。

容器化越来越受欢迎,因为容器是:

  • 灵活:即使是最复杂的应用也可以容器化。
  • 轻量级:容器利用并共享主机内核。
  • 可互换:您可以即时部署更新和升级。
  • 便携式:您可以在本地构建,部署到云,并在任何地方运行。
  • 可扩展:您可以增加并自动分发容器副本。
  • 可堆叠:您可以垂直和即时堆叠服务。

2. 镜像和容器

通过运行镜像来启动一个容器。一个镜像是一个可执行的包,其中包括运行应用程序所需的所有内容--代码,运行时,库,环境变量,和配置文件。

容器是镜像的运行时实例 - 实际执行时镜像会在内存中变成什么(即镜像状态或者是一个用户进程)。像在Linux上一样,你可以通过命令docker ps来查看正在运行的容器列表

3. 容器和虚拟机

一个容器中运行原生 Linux和共享主机与其它容器的内核。它运行一个独立的进程,不占用任何其他可执行文件的内存,使其轻量级。

相比之下,虚拟机(VM)运行一个完整的“客户”操作系统,通过虚拟机管理程序对主机资源进行虚拟访问。通常,VM提供的环境比大多数应用程序需要的资源更多。

4. 准备Docker环境

支持的平台上安装维护版本的Docker Community Edition(CE)或Enterprise Edition(EE) 。

完整的Kubernetes集成

安装Docker

5. 测试Docker版本

  1. 运行docker --version并确保您拥有受支持的Docker版本:
docker --version

Docker version 17.12.0-ce, build c97c6d6
  1. 运行docker info(或docker version不需要--)以查看有关Docker安装的更多详细信息:
docker info

Containers: 0
Running: 0
Paused: 0
Stopped: 0
../images/: 0
Server Version: 17.12.0-ce
Storage Driver: overlay2
...

要避免权限错误(以及使用sudo),请将您的用户添加到docker组中。阅读更多

1.6测试Docker安装
  1. 通过运行简单的Docker镜像hello-world来测试您的安装是否有效 :
docker run hello-world

Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
ca4f61b1923c: Pull complete
Digest: sha256:ca0eeb6fb05351dfc8759c20733c91def84cb8007aa89a5bf606bc8b315b9fc7
Status: Downloaded newer image for hello-world:latest

Hello from Docker!
This message shows that your installation appears to be working correctly.
...
  1. 列出hello-world下载到您的计算机的图像:
docker image ls
  1. 列出hello-world在显示其消息后退出的容器(由图像生成)。如果它仍在运行,您将不需要--all选项:
docker container ls --all

CONTAINER ID     IMAGE           COMMAND      CREATED            STATUS
54f4984ed6a8     hello-world     "/hello"     20 seconds ago     Exited (0) 19 seconds ago
1.7回顾和备忘单
### List Docker CLI commands
docker
docker container --help

### Display Docker version and info
docker --version
docker version
docker info

### Execute Docker image
docker run hello-world

### List Docker ../images/
docker image ls

### List Docker containers (running, all, all in quiet mode)
docker container ls
docker container ls --all
docker container ls -aq
1.8第一部分的结论

容器化使CI / CD无缝。例如:

  • 应用程序没有系统依赖性
  • 可以将更新推送到分布式应用程序的任何部分
  • 资源密度可以优化。

使用Docker,扩展应用程序是一个新的可执行文件,而不是运行繁重的VM主机。

接下来就可以正式了解容器了!