zoukankan      html  css  js  c++  java
  • docker基础知识

    1、docker介绍

    Docker是PaaS 提供商 dotCloud 开源的一个基于 LXC 的高级容器引擎,源代码托管在 Github 上, 基于go语言并遵从Apache2.0协议开源。
    Docker是通过内核虚拟化技术(namespace以及cgroups等)来提供容器的资源隔离与安全保障。由于Docker通过操作系统层的虚拟化实现隔离,所以Docker容器在运行时,不需要类似虚拟机( VM)额外的操作系统开销,提高资源利用率。

    组件:容器,镜像,仓库

    用途:简单配置、代码流水线管理、开发效率、应用隔离、服务器整合、调试能力、多租户、快速部署

    docker改变了什么?

    面向产品:产品交付

    面向开发:简化配置环境

    面向测试:多版本测试

    面向运维:环境一致性

    面向架构:自动化扩容

    2、docker部署

    yum install docker
    
    systemctl start docker
    
    systemctl enable docker

    查看docker信息

    [root@izwz99hcysthbz36uveqfvz ~]# docker info

    搜索docker镜像

    [root@izwz99hcysthbz36uveqfvz ~]# docker search centos(镜像名称)

    查看镜像(docker images信息包括:镜像仓库、标签、镜像ID、创建时间、大小)

    [root@izwz99hcysthbz36uveqfvz ~]# docker images
    REPOSITORY TAG IMAGE ID CREATED SIZE
    docker.io/centos latest 9f38484d220f 5 days ago 202 MB

    删除镜像

    [root@izwz99hcysthbz36uveqfvz ~]# docker rmi centos(镜像名称)

    镜像的导出、导入和下载

    [root@izwz99hcysthbz36uveqfvz ~]# docker pull centos(镜像名称)
    
    [root@izwz99hcysthbz36uveqfvz ~]# docker save centos > /opt/centos.tar.gz
    
    
    将linux-node2的镜像导出文件上传到linux-node1机器上,然后在linux-node1机器上导入
    
    [root@izwz99hcysthbz36uveqfvz ~]# docker load < /opt/centos.tar.gz

    首次创建一个容器

    [root@linux-node4 ~]# docker run centos /bin/echo "hehe"
    
    hehe

    查看容器状态

    可以使用docker ps只能看见存活的容器,docker ps -a 查看全部的容器,结果信息表示:

    容器ID、使用的镜像、执行的命令、创建的时间、状态、端口、名称(如果不指定,自动生成)

    [root@izwz99hcysthbz36uveqfvz ~]# docker ps -a
    
    CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                     PORTS               NAMES
    
    49a3dd40f0a1        centos              "/bin/echo hehe"    7 seconds ago       Exited (0) 6 seconds ago                       inspiring_mirzakhani

    创建容器

    --name:指定容器名称

    -t:分配一个tty终端

    -i:容器的标准输入保持打开的状态

    [root@izwz99hcysthbz36uveqfvz ~]# docker run --name mydocker -t -i centos /bin/bash
    
    [root@405fa58d00f9 /]# ps aux
    
    USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
    
    root         1  0.2  0.1  11820  1884 ?        Ss   07:40   0:00 /bin/bash
    
    root        14  0.0  0.0  51740  1736 ?        R+   07:40   0:00 ps aux

    这种方式创建自动进入容器,开启的容器只执行/bin/bash

    启动、停止容器

    [root@izwz99hcysthbz36uveqfvz ~]# docker start ID
    
    [root@izwz99hcysthbz36uveqfvz ~]# docker stop ID

    进入容器

    [root@izwz99hcysthbz36uveqfvz ~]# docker attach 405fa58d00f9
    
    [root@405fa58d00f9 /]# 

    删除容器

    [root@izwz99hcysthbz36uveqfvz ~]# docker rm ID
  • 相关阅读:
    element表格添加序号
    ZOJ 3822 Domination(概率dp)
    HDU 3037(Lucas定理)
    HDU 5033 Building(单调栈维护凸包)
    HDU 5037 Frog(贪心)
    HDU 5040 Instrusive(BFS+优先队列)
    HDU 5120 Intersection(几何模板题)
    HDU 5115 Dire Wolf(区间dp)
    HDU 5119 Happy Matt Friends(dp+位运算)
    C++ string详解
  • 原文地址:https://www.cnblogs.com/Moooo/p/10564987.html
Copyright © 2011-2022 走看看