zoukankan      html  css  js  c++  java
  • 十分钟快速了解docker

    快速了解下docker。废话少说,开干!

    一、相关概念

      什么是虚拟化技术?

    维基百科中的解释是这样的:

    虚拟化(技术)是一种资源管理技术,是将计算机的各种实体资源(CPU、内存、磁盘空间、网络适配器等),予以抽象、转换后呈现出来并可供分割、组合为一个或多个电脑配置环境。

    对于一台计算机,我们可以简单的划分为三层:从下到上依次是物理硬件层,操作系统层、应用程序层

     

    二、docker概念

      1. Docker是世界领先的软件容器平台。
      2. Docker使用Google公司推出的Go语言进行开发实现,基于Linux内核的cgroup,namespace,以及AUFS类的UnionFS等技术,对进程进行封装隔离,属于操作系统层面的虚拟化技术。

       由于隔离的进程独立于宿主和其它的隔离的进程,因此也称其为容器。Docker最初实现是基于LXC。

       docker的主要三个概念 

        镜像: 可以理解为模板; 虚拟机安装系统,镜像就是系统的安装文件模板 ghost/iso文件 ; docker的镜像就是用来生成容器的模板。

        仓库: 存储管理镜像的仓库; docker hub; 类似于maven仓库;我们可以把构建后的镜像上传到服务器,从而可以在任何地方使用到这个镜像。 

        容器:  通过镜像模板生成的一个具体实例, 可以对容器进行管理;删除/创建/启动/停止/重启/暂停/ ; 也可以将修改后的容器生成一个镜像.

       

    三、环境搭建

    3.1 离线搭建docker

    1. 下载离线包
    https://download.docker.com/linux/static/stable/x86_64/
    
    2. 解压
    tar -zxvf *.tar.gz 
    
    3. 移动目录位置
    cp docker/* /usr/bin/

    4. 新建 docker.service 文件放在 /etc/systemd/system/目录下,文件内容如下:
    [Unit]
    Description=Docker Application Container Engine
    Documentation=https://docs.docker.com
    After=network-online.target firewalld.service
    Wants=network-online.target
     
    [Service]
    Type=notify
    # the default is not to use systemd for cgroups because the delegate issues still
    # exists and systemd currently does not support the cgroup feature set required
    # for containers run by docker
    ExecStart=/usr/bin/dockerd
    ExecReload=/bin/kill -s HUP $MAINPID
    # Having non-zero Limit*s causes performance problems due to accounting overhead
    # in the kernel. We recommend using cgroups to do container-local accounting.
    LimitNOFILE=infinity
    LimitNPROC=infinity
    LimitCORE=infinity
    # Uncomment TasksMax if your systemd version supports it.
    # Only systemd 226 and above support this version.
    #TasksMax=infinity
    TimeoutStartSec=0
    # set delegate yes so that systemd does not reset the cgroups of docker containers
    Delegate=yes
    # kill only the docker process, not all processes in the cgroup
    KillMode=process
    # restart the docker process if it exits prematurely
    Restart=on-failure
    StartLimitBurst=3
    StartLimitInterval=60s
     
    [Install]
    WantedBy=multi-user.target
    5. 检查安装情况
    docker -v
    docker version

      

    启动docker 
    systemctl start docker
    查看docker信息
    docker info

       

       

    四、快速部署一个nginx应用

    4.1 搜索镜像列表

    docker search nginx

    4.2 拉取镜像列表到本地

    docker pull nginx

    4.3 查看本地镜像

    docker images

    4.4 通过镜像创建容器

     docker create --name=test_nginx -p 19398:80 nginx

    4.5 查看状态

    docker ps -a

    4.6 启动容器

     docker start|stop|restart|pause|unpause {containerId}

    4.7 修改容器内容

    docker exec -ti containerId /bin/bash


    4.8 保存修改后的容器内容

    docker commit containerId imageName
    

      

    五、命令总结

    5.1 镜像命令

    docker  rmi xx   删除镜像

    5.2 容器命令

     

    如果觉得文章对您有用,请点下推荐。您的支持将鼓励我继续创作!

  • 相关阅读:
    Siege 3.0 正式版发布,压力测试工具
    Pomm 1.1.2 发布,专为 PG 设计的 ORM 框架
    Whonix 0.5.6 发布,匿名通用操作系统
    国内开源 java cms,Jspxcms 2.0 发布
    EZNamespaceExtensions.Net v2013增加对上下文菜单、缩略图、图标、属性表的支持
    GNU Guile 2.0.9 发布,Scheme 实现
    jdao 1.0.4 发布 轻量级的orm工具包
    OpenSearchServer 1.4 RC4 发布
    Percona Server for MySQL 5.5.3030.2
    Samba 4.0.5 发布
  • 原文地址:https://www.cnblogs.com/pengsn/p/14661831.html
Copyright © 2011-2022 走看看