美文网首页
Docker入门,第1部分:基本情况和设置

Docker入门,第1部分:基本情况和设置

作者: cschen | 来源:发表于2018-07-04 21:42 被阅读0次

准备开始学习docker,网上教程很多,最后还是决定看官网的指南。
另外强烈建议在linux下学习,windows反而太麻烦了。
以下内容是官网指南的google翻译加一些我个人的修正。
原版在这里:
https://docs.docker.com/get-started/#containers-and-virtual-machines

ubuntu下安装Docker看这里
https://www.jianshu.com/p/f88df4791091

入门,第1部分:Orientation and setup

预计阅读时间: 4分钟

欢迎!我们很高兴您想学习Docker。该Docker入门教程 教你如何:

  1. 设置Docker环境(本文)
  2. 构建映像并将其作为一个容器运行
  3. 扩展您的应用程序以运行多个容器
  4. 在群集中分发您的应用
  5. 通过添加后端数据库来堆栈服务
  6. 将您的应用部署到生产环境

Docker概念

Docker是开发人员和系统管理员 使用容器开发,部署和运行应用程序的平台。使用Linux容器部署应用程序称为容器化。容器不是新的,但它们用于轻松部署应用程序。

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

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

Images和Containers

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

一个容器是Image的运行时实例-当Image在存储器中被执行时变成了什么(即:Image的状态,或者用户进程)。您可以使用该命令查看正在运行的容器列表docker ps,就像在Linux中一样。

容器和虚拟机

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

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

image.png

准备Docker环境

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

完整的Kubernetes集成

Ubuntu下安装Docker

测试Docker版本

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

    docker --version
    
    Docker version 17.12.0-ce, build c97c6d6
    
    
  2. 运行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组中。阅读更多
不用阅读更多了,就两行命令我贴过来:
sudo groupadd docker
sudo usermod -aG docker $USER
然后退出用户重新登陆下就OK了

测试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.
    ...
    
    
  2. 列出hello-world下载到您的计算机的镜像:

    docker image ls
    
    
  3. 列出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
    
    

回顾和备忘单

## 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

第一部分的结论

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

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

使用Docker,扩展应用程序的问题在于启动新的可执行文件,而不是运行繁重的VM主机。

相关文章

网友评论

      本文标题:Docker入门,第1部分:基本情况和设置

      本文链接:https://www.haomeiwen.com/subject/givyuftx.html