• 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:目标文件路径 宿主机上存储目标路径 -----将容器内文件拷贝到宿主机上
    
  • 相关阅读:
    CSS实例:图片导航块
    导航,头部,CSS基础
    web基础,用html元素制作web页面
    web基础
    timestamp与timedelta,管理信息系统概念与基础
    datetime处理日期和时间
    中文词频统计
    文件方式实现完整的英文词频统计实例
    当你发现任务管理器打不开
    恶搞关机
  • 原文地址:https://www.cnblogs.com/Henry-ZHAO/p/14054695.html
Copyright © 2020-2023  润新知