美文网首页
docker容器

docker容器

作者: 王亚飞1992 | 来源:发表于2019-05-22 13:36 被阅读0次

    1什么是容器?

    容器就是在隔离的环境运行的一个进程,如果进程停止,容器就会销毁。隔离的环境拥有自己的系统文件,ip地址,主机名等

    2容器和虚拟化的区别

    kvm虚拟化

    kvm虚拟化: 需要硬件的支持,需要模拟硬件,可以运行不同的操作系统,启动时间分钟级(开机启动流程)

    容器

    容器:共用宿主机内核,容器的第一个进程直接运行服务,轻量级,损耗少,启动快,性能高
    容器虚拟化:不需要硬件的支持。不需要模拟硬件,共用宿主机的内核,启动时间秒级(没有开机启动流程)

    总结:
    (1)与宿主机使用同一个内核,性能损耗小;
    (2)不需要指令级模拟;
    (3)容器可以在CPU核心的本地运行指令,不需要任何专门的解释机制;
    (4)避免了准虚拟化和系统调用替换中的复杂性;
    (5)轻量级隔离,在隔离的同时还提供共享机制,以实现容器与宿主机的资源共享。

    3docker 安装

    10.0.0.11:修改主机名和host解析
    rm -fr /etc/yum.repos.d/local.repo
    curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
    wget -O /etc/yum.repos.d/docker-ce.repo https://mirrors.ustc.edu.cn/docker-ce/linux/centos/docker-ce.repo
    sed -i 's#download.docker.com#mirrors.tuna.tsinghua.edu.cn/docker-ce#g' /etc/yum.repos.d/docker-ce.repo
    yum install docker-ce -y
    

    3.1 启动docker

    1.启动docker
    [root@docker-01 ~]# systemctl start docker
    2.查看docker版本信息
    [root@docker-01 ~]# docker version 
    Client:
     Version:           18.09.6
     API version:       1.39
     Go version:        go1.10.8
     Git commit:        481bc77156
     Built:             Sat May  4 02:34:58 2019
     OS/Arch:           linux/amd64
     Experimental:      false
    
    Server: Docker Engine - Community
     Engine:
      Version:          18.09.6
      API version:      1.39 (minimum version 1.12)
      Go version:       go1.10.8
      Git commit:       481bc77
      Built:            Sat May  4 02:02:43 2019
      OS/Arch:          linux/amd64
      Experimental:     false
    3. docker详细信息(监控用)
    [root@docker-01 ~]# docker info 
    Containers: 1
     Running: 1
     Paused: 0
     Stopped: 0
    Images: 1
    Server Version: 18.09.6
    Storage Driver: overlay2
     Backing Filesystem: xfs
     Supports d_type: true
     Native Overlay Diff: true
    Logging Driver: json-file
    Cgroup Driver: cgroupfs
    Plugins:
     Volume: local
     Network: bridge host macvlan null overlay
     Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
    Swarm: inactive
    Runtimes: runc
    Default Runtime: runc
    Init Binary: docker-init
    containerd version: bb71b10fd8f58240ca47fbb579b9d1028eea7c84
    runc version: 2b18fe1d885ee5083ef9f0838fee39b62d653e30
    init version: fec3683
    Security Options:
     seccomp
      Profile: default
    Kernel Version: 3.10.0-693.el7.x86_64
    Operating System: CentOS Linux 7 (Core)
    OSType: linux
    Architecture: x86_64
    CPUs: 1
    Total Memory: 1.938GiB
    Name: docker-01
    ID: DCFJ:W5UP:GOAC:EMQM:75YF:KV4W:Y6PU:4SS4:XFCY:7PBH:FMKQ:NOMJ
    Docker Root Dir: /var/lib/docker
    Debug Mode (client): false
    Debug Mode (server): false
    Registry: https://index.docker.io/v1/
    Labels:
    Experimental: false
    Insecure Registries:
     127.0.0.0/8
    Live Restore Enabled: false
    Product License: Community Engine
    
    WARNING: bridge-nf-call-iptables is disabled
    WARNING: bridge-nf-call-ip6tables is disabled
    
    

    3.2配置docker加速

    vi /etc/docker/daemon.json
    {
      "registry-mirrors": ["https://registry.docker-cn.com"]
    }   
    

    3.3 创建一个容器

    docker run -d -p 80:80 nginx
    run(创建并运行一个容器)
    -d 放在后台
    -p 端口映射
    nginx docker镜像的名字
    

    4 docker的镜像管理

    1.搜索镜像
    docker search + 镜像名
    选镜像的建议:
    -优先考虑官方
    -stars数量多
    
    2.获取镜像
        docker pull(push)
        镜像加速器:阿里云加速器,daocloud加速器,中科大加速器,Docker 中国官方镜像加速:https://registry.docker-cn.com
        
    官方pull      docker pull centos:6.8(没有指定版本,默认会下载最新版)
    私有仓库pull    docker pull daocloud.io/huangzhichong/alpine-cn:latest 
    
    ##配置docker镜像加速
    vi /etc/docker/daemon.json
    {
      "registry-mirrors": ["https://registry.docker-cn.com"]
    }   
        
    
        
    3.查看镜像列表
        docker images 或 docker image  ls
    4.删除镜像
        docker rmi  例子:docker image rm centos:latest
    5.导出镜像
        docker save  例子:docker image save centos > docker-centos7.4.tar.gz
    6.导入镜像
        docker load  例子:docker image load -i docker-centos7.4.tar.gz
    

    相关文章

      网友评论

          本文标题:docker容器

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