• 2. Docker


    一、Docker介绍

    1. Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上, 也可以实现虚拟化. 容器时完全使用沙箱机制,互相之间不会有任何接口.
    2. 启动非常快,秒级实现.
    3. 资源利用率很高,一台机器可以跑上千个docker容器.
    4. 更快的交付和部署,一次创建和配置后,可以在任意地方运行.
    5. 内核级别的虚拟化,不需要额外的hypevisor支持,会有更高的性能和效率.
    6. 易迁移,平台依赖性不强.

    二、Docker核心概念

    1. 镜像: 是一个只读的模版,类似于安装系统用到的iso文件,我们通过镜像来完成各种应用的部署.
    2. 容器: 镜像类似于操作系统,而容器类似于虚拟机本身.它可以被启动、开始、停止、删除等操作. 每个容器都是相互隔离的.
    3. 仓库: 存放镜像的一个场所,仓库分为公开仓库和私有仓库.

    三、Docker安装

    1. 笔记机器是Centos6.4 x64位, 首先升级系统.
    bash-3.2# yum -y install epel-release
    bash-3.2# yum update
    bash-3.2# yum -y install docker-io
    bash-3.2# /etc/init.d/docker start
    bash-3.2# chkconfig --add docker
    bash-3.2# chkconfig docker on
    bash-3.2# ps aux|grep docker
    root     1396    1  0 May20 ?        00:15:31 /usr/bin/docker -d
    

    四、Docker镜像管理

    1. 下载centos镜像
    bash-3.2# docker pull centos
    bash-3.2# docker images
    centos              latest              2a332da70fd1        2 weeks ago         196.7 MB
    
    1. 更改镜像名称
    bash-3.2# docker tag centos:latest 90root:90root
    bash-3.2# docker images
    centos              latest              2a332da70fd1        2 weeks ago         196.7 MB
    90root              90root              2a332da70fd1        2 weeks ago         196.7 MB
    ###可以看到,其实基于centos:latest拷贝一份镜像. 仔细看发现两者IMAGE ID一样.
    
    1. Docker搜索公有镜像
    bash-3.2# docker search centos
    NAME                            DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
    centos                          The official build of CentOS.                   2358      [OK]
    ansible/centos7-ansible         Ansible on Centos7                              75                   [OK]
    jdeathe/centos-ssh              CentOS-6 6.7 x86_64 / CentOS-7 7.2.1511 x8...   25                   [OK]
    jdeathe/centos-ssh-apache-php   CentOS-6 6.7 x86_64 / Apache / PHP / PHP M...   17                   [OK]
    nimmis/java-centos              This is docker images of CentOS 7 with dif...   12                   [OK]
    ………………………………………………
    
    1. 启动一个容器
    bash-3.2# docker run -it centos /bin/bash
    bash-96d50d4ae5e4# exit
    ##退出容器之后,容器停止
    ## -i: 让容器的标准输入打开
    ## -t: 为容器分配一个为终端
    
    1. 查看运行的容器
    bash-3.2# docker ps          #查看正在运行的容器
    bash-3.2# docker ps -a       #查看所有容器
    CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                     PORTS               NAMES
    96d50d4ae5e4        centos              "/bin/bash"         4 minutes ago       Exited (0) 3 minutes ago                       desperate_hopper
    
    1. 删除镜像
    bash-3.2# docker images     #查看镜像
    REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
    90root              0617                b14c8813ddbd        3 days ago          513.4 MB
    90root              90root              2a332da70fd1        2 weeks ago         196.7 MB
    centos              latest              2a332da70fd1        2 weeks ago         196.7 MB
    bash-3.2# docker rmi docker rmi 90root:0617     #删除镜像
    bash-3.2# docker images
    REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
    centos              latest              2a332da70fd1        2 weeks ago         196.7 MB
    90root              90root              2a332da70fd1        2 weeks ago         196.7 MB
    ## 不推荐通过镜像id删除镜像
    
  • 相关阅读:
    aspnet mvc 中 跨域请求的处理方法
    Aspnet Mvc 前后端分离项目手记(三)关于restful 风格Url设计
    Aspnet Mvc 前后端分离项目手记(二)关于token认证
    Aspnet Mvc 前后端分离项目手记(一) 关于跨域问题(还有前言)
    31 | 误删数据后除了跑路,还能怎么办?
    30 | 答疑文章(二):用动态的观点看加锁
    29 | 如何判断一个数据库是不是出问题了?
    28 | 读写分离有哪些坑?
    27 | 主库出问题了,从库怎么办?
    26 | 备库为什么会延迟好几个小时?
  • 原文地址:https://www.cnblogs.com/migongci0412/p/5966333.html
Copyright © 2020-2023  润新知