• Docker基本命令


    Docker帮助命令

    1.  查看Docker版本

    [root@centos ~]# docker version

    2. 查看Docker的详细信息

    [root@centos ~]# docker info

    3. 查看帮助命令

    [root@centos ~]# docker --help

    Docker镜像命令

    1. 列出本地主机上的镜像

    docker images [OPTIONS]
    
    各个选项说明
    1. REPOSITORY: 表示镜像的仓库源
    2. TAG    : 镜像的版本标签
    3. IMAGE ID : 镜像ID
    4. CREATED  :  镜像创建时间
    5. SIZE   :  镜像大小
    
      OPTIONS说明:
    
      -a: 列表本地所有的镜像(含中间映像层)
    
      -q: 只显示镜像ID
    
      --digests: 显示镜像的摘要信息
    
      --no-trunc: 显示完整的镜像信息

    同一个仓库源可以有多个TAG,代表这个仓库源的不同版本,使用REPOSITORY:TAG来定义不同的镜像。如果不指定一个镜像的版本标签,例如只使用ubuntu,docker将默认使用ubuntu:latest镜像。

    2. 在远程仓库中查找镜像

    docker search [OPTIONS] 镜像名称  
    
    # 目标网站: https://hub.docker.com
    
    OPTIONS说明:
    --no-trunc: 显示完整的镜像描述
    -s: 列出收藏数不少于指定值的镜像
    --automated: 只列出automated build类型的镜像

    3. 从远程仓库中下载镜像

    docker pull 镜像名字[:TAG]
    
    docker pull nginx 等价于  docker pull nginx:latest

    4. 删除镜像

    删除单个: docker rmi 唯一镜像名字或镜像ID[:TAG]
    删除多个: docker rmi -f 镜像名1:TAG 镜像名2:TAG
    删除全部: docker rmi if $(docker images -qa)

    Docker容器命令

    有镜像才能创建容器,这是根本前提!

    1. 新建并启动容器

    docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
    
    OPTIONS说明: 有些是一个减号,有些是两个减号
    --name="容器新名字": 为容器指定一个名称
    -d: 后台运行容器,并返回容器ID,也即启动守护式容器
    -i: 以交互模式运行容器,通常与-t同时使用
    -t: 为容器重新分配一个伪输入终端,通常与-i同时使用
    -P: 随机端口映射
    -p: 指定端口映射,有以下四种格式
      ip:hostPort:containerPort
      ip::containerPort
      hostPort:containerPort
      containerPort

    2. 列出当前所有正在运行的容器

    docker ps [OPTIONS]
    
    OPTIONS说明:
    -a: 列出当前所有正在运行的容器+历史上运行过的
    -l: 显示最近创建的容器
    -n: 显示最近n个创建的容器
    -q: 静默模式,只显示容器编号
    --no-trunc: 不截断输出

    3. 退出容器

    1. 容器停止退出
    exit
    
    2. 容器不停止退出
    ctrl+P+Q

    4. 启动容器

    docker start 容器ID或者容器名

    5. 重启容器

    docker restart 容器ID或者容器名称

    6. 停止容器

    docker stop 容器ID或者容器名

    7. 强制停止容器

    docker kill 容器ID或容器名称

    8. 删除已停止的容器

    docker rm  容器ID
    
    一次删除多个容器
    docker rm -f $(docker ps -a -q)
    docker ps -a -q|xargs docker rm

    9. 启动守护式容器

    docker run -d 容器名
    
    使用容器centos:latest以后台模式启动一个容器
    docker run -d centos
    问题: 然后docker ps -a 进行查看,会发现容器已经退出
    很重要的要说明一点: Docker容器以后台运行,就必须要有一个前台进程
    容器运行的命令如果不是那些一直挂起的命令(比如运行top,tail),就是会自动退出的

    这个是docker的机制问题,比如web容器,以nginx为例,正常情况下,配置启动服务只需要启动响应的service即可。例如service nginx start
    但是这样做,nginx为后台进程模式运行,就导致docker前台没有运行的应用,
    这样的容器后台启动后,会立即自杀因为他觉得他没事可做了
    所以,最佳的解决方案是,将要运行的程序以前台进程的形式运行

    10. 查看容器的日志

    docker logs -f -t --tail 容器ID
    
    -t: 加入时间戳
    -f: 跟随最新的日志打印
    --tail: 数字 显示最后多少条

    11. 查看容器内运行的进程

    docker top 容器ID

    12. 查看容器内部的细节

    docker inspect 容器ID

    13. 进入正在运行的容器并以命令行交互

    docker exec -it 容器ID bashShell
    # 重新进入
    docker attach 容器ID
    
    attach: 直接进入容器启动命令的终端,不会启动新的进程
    exec: 是在容器中打开新的终端,并且可以启动新的进程

    14. 从容器内拷贝文件到主机上

    docker cp  容器ID: 容器内路径  目的路径

    Docker commit命令

    docker commit提交容器副本使之成为一个新的镜像

    docker commit -m = "提交的描述信息" -a ="作者" 容器ID要创建的目标镜像名[:标签名]

    案例演示:

    1. 从Hub上下载tomcat镜像到本地并成功运行
    docker run -it -p 8080:8080 tomcat
    
    -p: 主机端口:docker容器端口
    -P: 随机分配端口
    -i: 交互
    -t: 终端
    
    2. 故意删除上一步镜像生产tomcat容器的文档
    
    3. 也即当前tomcat运行实例是一个没有文档内容的容器,以它为模板commit一个没有doc的tomcat新镜像tomcat02
    docker commit -a="新tomcat" -m="del docs tomcat" b9eb1bce5153 tomcat02
    
    4. 启动我们的新镜像并和原来的像对比

     

  • 相关阅读:
    mysql学习笔记——建表需满足的三大范式
    mysql学习笔记——对数据记录查询操作的补充(单表内查询)
    mysql学习笔记——对数据表中记录的操作
    转载----- mysql 五大约束
    mysql笔记------对数据表操作
    c语言中static的用法
    解决Android抽屉被击穿问题
    解决ScrollView与ListView事件冲突
    使用Loader实时查询本地数据库用法
    Android中实现两次点击返回键退出本程序
  • 原文地址:https://www.cnblogs.com/featherwit/p/12951918.html
Copyright © 2020-2023  润新知