• docker概述和安装及基本操作


    一:概述

    Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器或Windows 机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。

    一个完整的Docker有以下几个部分组成:
    1. DockerClient客户端
    2. Docker Daemon守护进程
    3. Docker Image镜像
    4. Docker Container容器

    而容器技术的核心有以下几个内核技术组成:

            1.cgroups            资源管理(限制空间大小)

            2.Namespace       进程隔离

            3.SElinux              安全

    下面有一张docker容器技术和传统虚拟化技术的对比图,很清楚的看见docker之所以比传统虚拟化速度要快,是因为docker没有操作系统

    可以理解为就是一个程序(不占内存,cpu,速度快)这也是和传统虚拟化最大的区别

    docker也有自己的缺点

                                 1.容器的隔离性没有虚拟化强

                                 2.共用Linux内核,安全性有先天缺陷

                                 3.selinux难以驾驭

                                 4.监控容器和容器排错

    二:安装要求

           1.64位操作系统

           2.至少RHEL6.5版本以上,个人强烈建议RHEL7.0版本

           3.关闭防火墙(不是必须)

           4.内核版本必须是3.10以上,可以通过  uname -r   命令检查内核版本

    三:安装docker

    1.已经安装过docker的,需要进行卸载

    命令:yum -y remove docker   docker-client   docker-client-latest  docker-common   docker-latest  docker-latest-logrotate  docker-logrotate  docker-selinux   docker-engine-selinux  docker-engine  

    因为我是新建的虚拟机,并没有安装docker历史

     2.安装docker依赖包

    命令:yum -y install yum-utils device-mapper-persistent-data lvm2

     有两种方法下载docker源,一种是官方,一种是阿里云,个人建议使用阿里云

    命令:cd /etc/yum.repos.d/

    官网地址:yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

    阿里云地址:yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo 

    3.正式安装docker

    命令:yum -y  install docker-ce

    4.启动docker以及测试

    命令:systemctl start docker      #启动docker

    测试:docker run hello-world

     执行命令docker后,如果与下图内容一致 则表示成功

    或者输入ip  a (ifconfig)会出现如下图,也是安装成功

    四、Docker 的简单操作

    1.下载镜像

     下载一个官方的centos镜像到本地

     docker pull centos

        下载好的镜像就会出现在镜像列表里

        docker images

    2.运行容器  

    这时我们可以在刚才下载的 CentOS 镜像生成的容器内操作了。

    生成一个 centos 镜像为模板的容器并使用 bash shell

    docker run -it centos /bin/bash

    这个时候可以看到命令行的前端已经变成了 [root@(一串 hash Id)] 的形式, 这说明我们已经成功进入了 CentOS 容器。

    在容器内执行任意命令, 不会影响到宿主机, 如下: mkdir -p /data/simple_docker

    可以看到 /data 目录下已经创建成功了 simple_docker 文件夹: ls /data

    4.退出容器

     exit

    查看宿主机的 /data 目录, 并没有 simple_docker 文件夹, 说明容器内的操作不会影响到宿主机

     ls /data

    5.保存容器

    查看所有的容器信息, 能获取容器的id

    docker ps -a

    然后执行如下命令,保存镜像:   docker commit -m="备注" 你的CONTAINER_ID 你的IMAGE

    我要这天再遮不住我眼,要这地再埋不了我心。要这天下众生都明白我意,要那诸佛都烟消云散!

  • 相关阅读:
    XSS 1
    KALI修改密码
    bugku web4
    16进制 32进制 base64之间的区别
    buuctf
    buuctf wireshark
    buuctf 变异凯撒
    2016集训测试赛(二十)Problem A: Y队列
    USACO 4.1.1 麦香牛块 Beef McNuggets
    2016集训测试赛(十八)Problem C: 集串雷 既分数规划学习笔记
  • 原文地址:https://www.cnblogs.com/lixaingyang/p/11909687.html
Copyright © 2020-2023  润新知