zoukankan      html  css  js  c++  java
  • docker命令

    以下命令需要进入root权限---sudo -s

    帮助命令

    docker --help
    docker version
    docker info(version的details版本)
    一般的命令都是 docker + command + 可选参数
    

    镜像命令

    docker iamges 列出本地主机镜像
    docker images -a 列出本地主机所有镜像(包括中间镜像层)
    docker images -q 只显示镜像ID
    docker images -qa 当前存在的以及之前存在过的镜像ID
    docker images --digest:列出镜像,并显示镜像的摘要信息,但是由于屏幕所限会截断显示
    docker images --no-trunc:列出镜像,并完整显示摘要信息
    
    docker search 镜像名   从配置镜像仓库搜索镜像,默认是从hub.docker.com查询
    docker search  -s 30 images-name  利用镜像仓库的star数目进行过滤搜索
     
    docker pull mysql(:latest):一般的命令默认都是指最新版本镜像
    
    docker rmi mysql 删除镜像 #如果有此衍生的容器container在运行,那么会提示与daemon守护进程冲突,无法删除
    dcoker rmi -f mysql 强制删除
    
    ** 如何传参形式批量删除镜像----类似mysql数据库语言查询传参即可
    docker rmi -f $(docker images -qa)   ---$后是个变量名
    

    容器命令

    docker pull centos(:latest)   配置仓库拉取centos镜像
    docker run centos      (也可以使用镜像ID)   依据本机centos镜像(本机local没有则先从配置仓库拉取到本机)生成centos容器并运行centos容器
    docker run -it centos       以交互模式(-i,一般和-t同时使用)运行centos容器,并为容器重新分配一个伪输入终端(-t)
    docker run -d  centos       以守护进程在后台运行(由于docker的设计理念,要想将容器在后台运行就必须有前台进程,如果仅仅run启动但没有分配任务,docker会主动kill调这个空闲centos进程)
    
    docker ps   ---docker正在运行的(活着的)容器(背上正在背着的集装箱)
    docker ps -q       活着的容器以ID名列出
    
    
    docker ps -l       docker引擎经历的上一个容器
    docker ps -lq       docker引擎经历的上一个容器,以容器ID列出
    
    
    docker ps -a      docker引擎经历的所有容器(活着的和过去关闭的)
    
    docker ps -n 5      docker引擎经历过的最后5个容器
    
    
    exit ---从centos容器中退回到宿主机,并关闭容器)
    CRTL+P+Q ---从centos容器中退回到宿主机,不关闭容器
    
    docker start 容器名/ID --- 启动容器
    docker restart 容器名/ID  ---重启容器
    docker stop 容器名/ID ---正常关闭容器
    docker kill 容器名/ID ----立即强制关闭容器
    
    docker rm  容器名/ID  ---删除已关闭的容器(rmi--删除镜像images)
    
    docker rm -f 容器名/ID ----强制删除容器
    
    docker rm -f  $(docker ps -a -q)  一次性强制删除所有的容器
    docker ps -a -q | xargs docker rm -f   先查找通过管道符传给xargs(可以发现传递给删除命令时参数放到了docker rm的前面)
    
    
    docker logs -f -t --tail 容器ID ----查看容器日志(-t 加入时间戳  -f 打印跟随最新日志, --tail nums 显示最后多少条日志记录)
    
    docker run -d centos /bin/sh -c "while true;do echo hello parallax;sleep 2;done" ---通过shell编程使后台容器一直在工作,而不是闲着直接被kill
    
    """
    $ sudo echo "hahah" >> test.csv
    -bash: test.asc: Permission denied
    这时可以看到 bash 拒绝这么做,说是权限不够。这是因为重定向符号 “>” 和 ">>" 也是 bash 的命令。我们使用 sudo 只是让 echo 命令具有了 root 权限,但是没有让 “>” 和 ">>" 命令也具有 root 权限,所以 bash 会认为这两个命令都没有像 test.csv文件写入信息的权限。
    解决这一问题的途径有两种。
    
    第一种是利用 "sh -c" 命令,它可以让 bash 将一个字串作为完整的命令来执行,这样就可以将 sudo 的影响范围扩展到整条命令。具体用法如下:
    $ sudo /bin/sh -c 'echo "hahah" >> test.asc'
    """
    
    docker top 容器ID ------查看容器内运行的进程,如查看宿主机上的centos容器内运行的进程
    docker inspect 容器ID  ---查看容器内部细节(因为一个容器其实也是由多个容器嵌套形成的)
    
    docker attach 容器ID----再显示进入后台运行容器的交互环境
    
    docker exec -t 容器ID ----再隐式进入后台运行容器的交互环境(ID后追加/bin/bash就变成了显示进入)
    
    docker exec -t 容器ID ls /tmp   ----隐式进入容器,列出其内tmp目录文件夹
    
    docker cp 容器ID:目标文件路径 宿主机上存储目标路径 -----将容器内文件拷贝到宿主机上
    
  • 相关阅读:
    VC 常见问题百问
    python windows 环境变量
    Check server headers and verify HTTP Status Codes
    Where are the AES 256bit cipher suites? Please someone help
    outlook 如何预订会议和会议室
    安装Axis2的eclipse插件后,未出现界面
    windows 环境变量
    python 时间日期处理汇集
    openldap学习笔记(使用openldap2.3.32)
    set p4 environment in windows
  • 原文地址:https://www.cnblogs.com/Henry-ZHAO/p/14054695.html
Copyright © 2011-2022 走看看