• Docker_命令


    镜像命令

    docker images 列出本地主机上的镜像

    • REPOSITORY:   镜像的仓库源
    • TAG:           镜像的标签 不同的版本
    • IMAGE ID:      镜像的ID
    • CREATE TIME:     镜像创建时间
    • SIZE:          镜像大小
    • 同一个仓库可以有多个tag,表示这个仓库源的不同个版本
    • 使用repository:tag  定义不同的镜像
    • 如果不指定tag,默认使用latest
    • 参数
      • -a:    本地所有的Image,包含中间映像层
      • -q:    只显示镜像ID
      • --digests: 显示镜像的摘要信息 sha265
      • --no-trunc: 显示完整的信息

    Docker search

    docker hub查找,但是从设置仓库镜像中下载

    • -s:star数:-s  30:  列出收藏数不小于指定值的镜像
    • --no-tunc:         显是完整的说明信息
    • ---automated:     只列出自动安装,构建

    Docker pull Repository:Tag

    拉取镜像

    • Tag 可以省略,默认Latest
    • 镜像分层,类似千层饼

    Docker rmi Repository:Tag

    删除本地镜像

    • Tag 默认 Lastest
    • -f :强制
    • 删除单个: docker rmi -f 镜像ID
    • 删除多个: docker rmi - f 镜像名1:tag 镜像名2:tag
    • 删除全部: docker rmi -f $(docker images -qa)

    容器命令

    容器 是一个简易版的Linux环境和运行在其中的应用程序

    Docker run [option] image [command][ arg] 
    

    端口映射容器内的端口映射到容器外的端口

    • -p:  指定端口容器内的端口
      • ip:hostPort:containerPort
      • ip::containerPort
      • hostPost:containerPort
      • containerPort
    • -P 随机映射

    参数

    • --name="容器新名字":   为容器指定一个名称
    • -d:后台运行容器,并返回容器ID,即启动守护式容器
    • -i :以交互模式运行容器,通常与-t同时使用
    • -t:为容器重新分配一个伪输入终端,通常与-i同时使用

    Docker ps

    列出当前所有运行的容器

    • 默认显示当前正在运行的容器
    • name 没有指定的话,使用默认的
    • -a: 列出当前所有正在运行的+历史上运行过的
    • -l :显示最近创建的容器
    • -n:显示最近n个创建的容器
    • -q:静默模式,只显示容器编号
    • --no-trunc:不截断输出

    启动容器

    Docker start 容器ID或者容器名
    

    重启容器 

    Docker restart 容器ID或者容器名 
    

    停止容器

    属于正常的停止,会有一段时间的操作

    Docker stop 容器ID或者容器名 
    

    强制停止容器

    立刻马上

    Docker kill 容器ID或者容器名 
    

    删除缓存中的容器

    Docker rm  容器ID或者容器名
    

    参数

    • -f: 强制删除,包括没有停止的容器
    • 一次性删除多个 docker rm -f ${docker ps -qa}

    退出容器

    • exit: 容器停止退出
    • Ctrl+P+Q:容器挂起

    守护式容器

    Docker run -d 容器ID和容器名
    

     注意:Docker容器后台运行,就必须有一个前台进程

      ☆  Docker容器运行的命令如果不是那些一直挂起的命令top,tail;就会自动退出

      这是docker的机制问题

      以nginx为例,正常情况下,我们配置启动服务只需要启动响应的seriver即可,例如 service Nginx start;

      但是Nginx以后台进程模式运行,就导致dicker前台没有运行的应用,这样的容器后台启动后,会立即自杀,因为他觉得没事可做

    最佳解决方案:将你要运行的的程序以前台进行的形式运行

    查看 容器日志

    Docker logs -f -t --tail 容器ID和容器名
    
    • t: 加入时间段
    • f: 跟随最新的日志打印
    • tail 数字: 显示最后几条

    查看容器内部的进程

    Docker top 容器ID和容器名

    查看容器内部细节

    Docker inspect  容器ID和容器名
    

    进入正在运行的容器以命令行方式交互

    1. docker exec -it 容器ID bashshell
    2. docker attach 容器ID
    • attach: 直接进入容器启动命令的终端不会启动新的进程
    • exec: 在容器中打开新的终端,并且可以启动新的进程
      • 直接在容器后面加命令执行,不会记录到日志

    从容器内拷贝数据到主机上

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

     

  • 相关阅读:
    浏览器加载AMD标准的输出文件
    Mac安装brew && brew 安装yarn
    插件集
    vue-router复用组件时不刷新数据
    加入sass后运行项目报错:TypeError: this.getResolve is not a function
    安装cnpm后运行报cnpm : 无法加载文件 C:UsersyizonAppDataRoaming pmcnpm.ps1,因为在此系统上禁止运行脚本
    图片canvas跨域问题解决方案之一
    vscode配置
    搭建express服务
    项目初始化
  • 原文地址:https://www.cnblogs.com/ZhaoLong-study/p/13586982.html
Copyright © 2020-2023  润新知