zoukankan      html  css  js  c++  java
  • Docker 容器管理

    容器创建后,会存储在宿主机上:linux上位于/var/lib/docker/containers下。  

     

    虚拟机的生命周期

     

    容器的生命周期

     

    容器的创建    create

    1. 作用:  
    2.     利用镜像创建出一个Created状态的待启动容器  
    3. 命令格式:  
    4.     docker create [OPTIONS] IMAGE [COMMAND] [ARG...]  
    5. 命令参数:查看更多  
    6.     -t, --tty       分配一个伪tty,也就是分配虚拟终端  
    7.     -i      即使没连接,保持STDIN打开  
    8.     --name      为容器起个名字,没有会随机命名  

     

    容器启动    start

    1. 作用:  
    2.     将一个或者多个创建状态或者停止状态的容器启动  
    3. 命令格式:  
    4.     docker start [OPTIONS] CONTAINER [CONTAINER...]  
    5. 命令参数:  
    6.     -a  将当前的shellSTDOUT/STDERR 连接到容器上  
    7.     -i  将当前shellSTDIN连接到容器上  

     

    结论:

        -a 参数指定后执行完 容器为退出状态  

    容器创建并启动    run

    1. 作用:  
    2.     利用镜像创建一个启动的容器  
    3. 命令格式:  
    4.     docker run [OPTIONS] IMAGE [COMMAND] [ARG...]  
    5. 命令参数:  
    6.     -t, --tty       分配一个伪tty,也就是分配虚拟终端  
    7.     -i  将当前shellSTDIN连接到容器上  
    8.     -d  在后台运行并且打印出容器ID  
    9. --name  为容器起个名字,没有会随机命名  
    10.     --rm    容器退出后,自动删除容器  

     

    区别:

    docker run 相当于 docker create + docker start -a       前台模式

     

    docker run -d 相当于 docker create + docker start       后台模式

     

    1. 总结:  
    2.     默认我们利用镜像来启动容器,用docker run 命令来进行  

     

    容器暂停和取消暂停    pause    unpause

     

    1. 作用:  
    2.     暂停或取消暂停一个启动的容器  
    3. 命令格式:  
    4.     docker pause/ unpause CONTAINER [CONTAINER...]  

     

     

    容器关闭和杀死    stop    kill

     

    1. 作用:  
    2.     将一个或者多个暂停或者运行的容器stop  
    3.     强制并立即关闭一个或多个处于暂停状态或者运行状态的容器  
    4. 命令格式:  
    5.     docker stop/ kill [OPTIONS] CONTAINER [CONTAINER...]  
    6. 命令参数:  
    7.     -t  容器关闭前等待的时间  默认10s  (stop)  
    8.     -s  给指定容器关闭信息,默认kill    (kill)  

     

     

    区别:

    1. 前提知识点:   
    2. Linux其中两种终止进程的信号是:SIGTERMSIGKILL   
    3.     
    4. SIGKILL信号:无条件终止进程信号。进程接收到该信号会立即终止,不进行清理和暂存工作。该信号不能被忽略、处理和阻塞,它向系统管理员提供了可以杀死任何进程的方法。   
    5.     
    6. SIGTERM信号:程序终结信号,可以由kill命令产生。与SIGKILL不同的是,SIGTERM信号可以被阻塞和终止,以便程序在退出前可以保存工作或清理临时文件等。   
    7.     
    8. docker stop 会先发出SIGTERM信号给进程,告诉进程即将会被关闭。在-t指定的等待时间过了之后,将会立即发出SIGKILL信号,直接关闭容器  
    9.     
    10. docker kill 直接发出SIGKILL信号关闭容器。但也可以通过-s参数修改发出的信号。  
    11.      
    12. 因此会发现在docker stop的等过过程中,如果终止docker stop的执行,容器最终没有被关闭。而docker kill几乎是立刻发生,无法撤销  
    13.     
    14. 此外还有些异常原因也会导致容器被关闭,比如docker daemon重启、容器内部进程运行发生错误等等"异常原因   

     

    容器重启    restart

    1. 作用:  
    2.     重启一个或多个处于运行状态、暂停状态、关闭状态或者新建状态的容器  
    3.     该命令相当于stopstart命令的结合  
    4. 命令格式:  
    5.     docker restart [OPTIONS] CONTAINER [CONTAINER...]  
    6. 命令参数:  
    7.     -t  重启等待时间 默认10s  

     

     

    容器删除    rm

    1. 作用:  
    2.     删除一个或者多个容器  
    3. 命令格式:  
    4.     docker rm [OPTIONS] CONTAINER [CONTAINER...]  
    5. 命令参数:  
    6.     -f  强制删除  
    7.     -v  同时删除绑定的数据卷  

     

    容器其他操作    inspect    logs rename

    Inspect:        详细信息
    1. 命令格式:  
    2.     docker inspect [OPTIONS] NAME|ID [NAME|ID...]  
    3. 命令参数:  
    4.     -f  利用特定Go语言的format格式输出结果  
    5.     -s  显示总大小   

     

     

    logs:        日志信息
    1. 命令格式:  
    2.     docker logs [OPTIONS] CONTAINER  
    3. 命令参数:  
    4.        --details        显示日志的额外信息     
    5.        -f, --follow             动态跟踪显示日志信息        
    6.        --since string   只显示某事时间节点之后的             
    7.        --tail string        显示倒数的行数(默认全部)     
    8.        -t, --timestamps         显示timestamps时间        
    9.        --until string       只显示某事时间节点之前的  
    10. 注意容器日志中记录的是容器主进程的输出STDOUTSTDERR   

     

    rename:        容器重命名
    1. 命令格式:  
    2.     docker rename CONTAINER NEW_NAME  

     

     

    容器运行时 连接

    docker attach
    1. 作用:  
    2.     将当前终端的STDINSTDOUTSTDERR绑定到正在运行的容器的主进程上实现连接   
    3. 命令格式:     
    4.     docker attach [OPTIONS] CONTAINER   
    5. 命令参数(OPTIONS)        
    6.        --no-stdin      不绑定STDIN   

     

    Exec 容器中执行新的命令

     

    1. 作用:       
    2.       在容器中运行一个命令   
    3. 命令格式:     
    4.       docker exec [OPTIONS] CONTAINER COMMAND [ARG...]   
    5. 命令参数(OPTIONS)    
    6.       -d, --detach          后台运行命令    
    7.       -i, --interactive     即使没连接容器,也将当前的STDIN绑定上     
    8.       -t, --tty             分配一个虚拟终端      
    9.       -w, --workdir string  指定在容器中的工作目录       
    10.       -e, --env list        设置容器中运行时的环境变量   

     

    我们平时连接的时候用 it参数

     

     

    总结

     

  • 相关阅读:
    带你看懂MySQL执行计划
    MySQL rename table方法大全
    MySQL慢日志全解析
    mybatis-通用mapper
    springboot-数据访问
    docker-1常用命令
    springboot-错误处理
    springboot-配置1
    react--temp
    了解react记录2-生命周期
  • 原文地址:https://www.cnblogs.com/py-web/p/11887278.html
Copyright © 2011-2022 走看看