• 12.2.1、Docker__docker的概述、docker的命令


    1、Docker概述

    docker是为了解决运行环境和配置问题的软件容器,方便解决做持续集成并有助于整体发布的容器虚拟化技术

    2、Docker的基本组成(三元素)

    镜像(Image):Docker 镜像(Image),就相当于是一个 root 文件系统。比如官方镜像 ubuntu:16.04 就包含了完整的一套 Ubuntu16.04 最小系统的 root 文件系统。
    容器(Container):镜像(Image)和容器(Container)的关系,就像是面向对象程序设计中的类和实例一样,镜像是静态的定义,容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等。
    仓库(Repository):仓库可看成一个代码控制中心,用来保存镜像。

    3、架构

    Docker是一个C/S架构的

    4、为什么docker比虚拟机快

    1)docker有着比虚拟机更少的抽象层
    2)docker利用的市宿主机的内核,而不需要加载操作系统OS内核
    在这里插入图片描述

    5、拉取镜像

    docker pull [选项] [Docker Registey 地址[:端口号]/] 镜像名[:标签]

    6、常用的命令(容器命令)

    新建容器并启动

    eg:docker run -d --name toccat-8080 -p 8080:8080 tomcat(容器内部名称)
    -d:守护进程,–name:名称

    docker run【可选参数】image
    #参数说明
    --name="Name" 容器名字 tomcat01 ...用来区分容器
    -d            后台方式运行
    -it           使用交互方式运行,进入容器查看内存
    -p            指定容器的端口 -p 8080
        -p ip:主机端口
        -p 主机端口(宿主机,外部访问的端口):容器端口(常用,内部的端口号)
        -p 容器端口
        容器端口
    -P            随机指定端口
    #测试,启动并进入容器
        # docker run it centos /bin/base
    #退出
        #exit
    列出运行的容器
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    列出运行的容器

    docker ps 命令
          #列出当前正在运行的容器
         -a #列出当前正在运行的容器和历史运行过的容器
         -n=#显示最近创建的容器
         -q #只显示容器的编号
    退出容器
    exit #容器停止并退出
    ctrl+P+Q #容器不停止退出
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    删除容器

    docker rm 容器id    #不能删除正在运行的容器
    docker rm -f $(docker ps -aq)    #删除所有的容器
    docker ps -a -qlxargs docker rm  #删除所有的容器
    
    • 1
    • 2
    • 3

    启动和停止容器的操作

    docker start 容器id    #启动容器
    docker restart 容器id   #重启容器
    docker stop 容器id        #停止容器
    docker kill 容器id        #杀死容器
    
    • 1
    • 2
    • 3
    • 4

    6、常用的其他命令

    后台启动容器

    #命令 docker run -d 镜像名!
        /# docker run -d centos
    #问题docker ps,发现centos停止了
    #常见的坑,docker 容器使用后台运行,就必须要有一个前台进程,docker发现没有应用,就会自动停止
    #nginx,容器启动后,发现自己没有提供服务,就会立刻停止,就是没有程序了
    
    • 1
    • 2
    • 3
    • 4
    • 5

    查看日志

    docker logs -f -t --tail 容器,没有日志
    docker ps
        -tf #显示日志
        -tail number #要显示日志的条数
    
    • 1
    • 2
    • 3
    • 4

    查看容器中进程信息ps

    #命令 docker top 容器id
    
    • 1

    查看镜像的元数据

    #命令 docker inspect 容器id
    
    • 1

    进入当前正在运行的容器(进去容器)

    eg:docker exec -it 容器id bash
    #通常使用后台进入
    #命令
        docker exec -it 容器id bashshell
    #docker attach 容器id
    
    docker exec  #进入容器后开启一个新的终端
    #docker attach
    
    #ls -l
    
    退出容器:
    exit
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    从容器内拷贝文件到主机上(在宿主机和容器之间交换文件)

    docker cp 容器id:容器路径 目的地路径 (可能会置前)
    
    • 1

    容器内部写东西

    echo 'hello'
    
    • 1

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    7、docker容器类比

    容器----类似于(对象)
    镜像----类似于(类)

    8、安装nginx镜像

    拉取镜像:docker pull nginx:latest
    查看本地镜像:docker images
    运行容器:docker run --name nginx-test -p 80:80 -d nginx

  • 相关阅读:
    【电力系统】基于YALMIP 的微网(光伏+风电+蓄电池+微电网+柴油机)优化调度模型附matlab代码
    差分 【一维差分和二维差分】
    【一文秒懂——YAML配置文件】
    如何对服务端进行性能测试
    数据结构初阶:顺序表和链表
    分类预测 | MATLAB实现基于GRU-AdaBoost门控循环单元结合AdaBoost多输入分类预测
    数据库之MySQL查询去重数据
    【世界历史】第二集——文明的曙光
    C++战火英雄
    Network Address Translation,网络地址转换技术
  • 原文地址:https://blog.csdn.net/nerer/article/details/125531249