zoukankan      html  css  js  c++  java
  • Docker

    Docker

    1、什么是Docker?

      开发人员利用 Docker 可以消除协作编码时“在我的机器上可正常工作”的问题。

      它是目前最流行的 Linux 容器解决方案。Docker 将应用程序与该程序的依赖,打包在一个文件里面。运行这个文件,就会生成一个虚拟容器。程序在这个虚拟容器里运行,就好像在真实的物理机上运行一样。有了 Docker,就不用担心环境问题。

      Docker 的接口相当简单,用户可以方便地创建和使用容器,把自己的应用放入容器。容器还可以进行版本管理、复制、分享、修改,就像管理普通的代码一样。

      容器除了运行其中应用外,基本不消耗额外的系统资源,使得应用的性能很高,同时系统的开销尽量小。

    2、Docker vs VM

      VM是一个运行在宿主机之上的完整的操作系统,VM运行自身操作系统会占用较多的CPU、内存、硬盘资源。Docker不同于VM,只包含应用程序以及依赖库,基于libcontainer运行在宿主机上,并处于一个隔离的环境中,这使得Docker更加轻量高效,启动容器只需几秒钟之内完成。由于Docker轻量、资源占用少,使得Docker可以轻易的应用到构建标准化的应用中。

      Docker 在容器的基础上,进行了进一步的封装,从文件系统、网络互联到进程隔离等等,极大的简化了容器的创建和维护。使得 Docker 技术比虚拟机技术更为轻便、快捷。

      Docker 对系统资源的利用率很高,一台主机上可以同时运行数千个 Docker 容器。

      

    3、相关概念。

    Docker是CS架构,主要有两个概念:

    • Docker daemon: 运行在宿主机上,Docker守护进程,用户通过Docker client(Docker命令)与Docker daemon交互
    • Docker client: Docker 命令行工具,是用户使用Docker的主要方式,Docker client与Docker daemon通信并将结果返回给用户,Docker client也可以通过socket或者RESTful api访问远程的Docker daemon

      

      

      了解了Docker的组成,再来了解一下Docker的三个主要概念:

    • Docker image:镜像是只读的,镜像中包含有需要运行的文件。镜像用来创建container,一个镜像可以运行多个container;镜像可以通过Dockerfile创建,也可以从Docker hub/registry上下载。
    • Docker container:容器是Docker的运行组件,启动一个镜像就是一个容器,容器是一个隔离环境,多个容器之间不会相互影响,保证容器中的程序运行在一个相对安全的环境中。
    • Docker hub/registry: 共享和管理Docker镜像,用户可以上传或者下载上面的镜像,官方地址为https://registry.hub.docker.com/,也可以搭建自己私有的Docker registry。

    4、安装 Docker。

    yum install docker // 安装 
    
    service docker start // 启动
    
    chkconfig docker on // 开机启动
    
    docker version // 查看docker版本,或测试docker是否启动

     5、感受 Docker。
      Docker 中国官方镜像加速可通过registry.docker-cn.com访问。该镜像库只包含流行的公有镜像,私有镜像仍需要从美国镜像库中拉取。

    修改系统中docker对应的配置文件即可,如下:

    vi  /etc/docker/daemon.json
    #添加后
    {
        "registry-mirrors": ["https://registry.docker-cn.com"],
        "live-restore": true
    }

      下载镜像,并运行窗口。

    docker pull library/hello-world //下载镜像
    
    
    docker images // 查看镜像
    #显示结果
    REPOSITORY                      TAG                 IMAGE ID            CREATED             SIZE
    docker.io/hello-world           latest              f2a91732366c        3 months ago        1.848 kB
    
    
    
    docker run hello-world // 运行镜像
    #显示结果
    Hello from Docker!
    This message shows that your installation appears to be working correctly.
    ...

    6、Docker 常用命令。

    docker pull image_name // 摘取镜像
    
    docker images // 查看已下载的镜像
    
    // 删除镜像
    docker rmi  docker.io/tomcat:7.0.77-jre7   或者  docker rmi b39c68b7af30
    
    docker ps // 查看运行中的容器
    
    docker ps -a // 查看所有容器
    
    // 启动、停止、重启容器
    docker start container_name/container_id
    docker stop container_name/container_id
    docker restart container_name/container_id
    
    // 进入容器
    docker attach container_name/container_id
    
    // 删除容器
    docker rm container_name/container_id
    
    docker info // 查看 Docker 信息
    
    // 从 Docker 上下载某个镜像
    docker pull centos:latest
    docker pull centos:latest

    参考:http://blog.51cto.com/ityouknow/2083688

  • 相关阅读:
    toj 2975 Encription
    poj 1797 Heavy Transportation
    toj 2971 Rotating Numbers
    zoj 2281 Way to Freedom
    toj 2483 Nasty Hacks
    toj 2972 MOVING DHAKA
    toj 2696 Collecting Beepers
    toj 2970 Hackle Number
    toj 2485 Card Tric
    js页面定位,相关几个属性
  • 原文地址:https://www.cnblogs.com/tekkaman/p/9940062.html
Copyright © 2011-2022 走看看