• docker命令


      1 docker images [OPTIONS]
      2     -a: 列出本地所有的镜像(含中间映像层)
      3     -q:只显示镜像ID.
      4     --digests: 显示镜像的摘要信息
      5     --no-trunc:显示完整的镜像信息
      6     
      7 docker search [OPTIONS] 镜像名字
      8     --no-trunc:显示完整的镜像描述
      9     -s: 列出收藏数不小于指定值的镜像
     10     --automated: 只列出automated build类型的镜像
     11     
     12 docker pull 镜像名字:latest(不加默认最新版本)
     13 
     14 
     15 docker rmi -f 某个镜像的名字 可以删除多个it
     16 
     17 docker rmi -f 某个镜像名字ID 可以删除多个
     18 
     19 docker rmi -f $(docker images -qa)  删除所有镜像
     20 
     21 
     22 新建并启动容器
     23     docker run [OPTIONS] IMAGE
     24         OPTIONS:  --name '容器新名字': 为容器指定一个名称
     25                   -d: 后台运行容器,并返回容器ID,也即启动守护容器
     26                   -i:以交互模式运行容器,通常与-t同时使用
     27                   -t:为容器重新分配一个伪输入终端,通常与-i同时使用
     28                   -P:随机端口映射
     29                   -p:指定端口映射,有以下四种格式
     30                         ip:hostPort:containerPort
     31                         ip::containerPort
     32                         hostPort:containerPort
     33                         containerPort
     34                   
     35 
     36 列出当前所有正在运行的容器 
     37     docker ps [OPTIONS]
     38         OPTIONS: -a: 列出当前 所有正在运行的容器+历史上运行过的
     39                  -l:显示最近创建容器
     40                  -n:显示最近n个创建的容器
     41                  -q:静默模式,只显示容器编号
     42                  --no-trunc:不截断输出
     43 
     44 退出容器
     45     exit 容器停止退出
     46     ctrl+P+Q 容器不停止退出
     47 启动容器
     48     docker start 容器ID或容器名
     49 重启容器
     50     docker restart 容器容ID容器名
     51 停止容器
     52     docker stop 容器ID或容器名
     53 强制停止容器
     54     docker kill 容器ID或容器名 
     55 删除已停止的容器
     56     docker rm 已停止的容器ID或容器名
     57     
     58 一次性删除多个容器
     59     docker rm -f$(docker ps -a -q)
     60     docker ps -a -q | xargs docker rm
     61     
     62 重要
     63 重要
     64 重要
     65     docker run -d 容器名   启动守护式容器
     66     docker logs -f -t --tail 容器ID  查看容器日志
     67         -t 是加入时间戳
     68         -f 跟随最新的日志打印
     69         --tail 数字 显示最后多少条
     70     docker inspect 容器ID    查看容器内部细节
     71     docker exec -it 容器ID bashShell
     72     重新进入docker attach 容器ID
     73     上述两个区别  
     74         attach
     75         直接进入容器启动命令的终端, 不会启动新的进程
     76         exec
     77         是在容器中打开新的终端,并且可以启动新的进程
     78     docker cp 容器ID:容器内路径 目的主机路径     从容器内拷贝文件到主机上
     79     
     80 docker commit   提交容器副本使之成为一个新的镜像
     81 docker commit -m='提交的描述信息' -a='作者' 容器ID 要创建的目标镜像名:[标签名]
     82     
     83 数据卷(相当于redis中的持久化)
     84     直接命令添加
     85         docker run -it -v /宿主机绝对路径目录:/容器内目录 镜像名字
     86         docker run -it -v /宿主机绝对路径目录:/容器内目录:ro 镜像名字   (容器中只读)
     87     DockerFile添加
     88         根目录下新建mydocker文件并进入
     89         可在Dockerfile中使用VOLUME指令来给镜像添加一个或多个数据卷
     90         File构建
     91             
     92         docker build后生成镜像  ------->最后获得一个新镜像
     93             docker build -f /自己在宿主机上创建的文件名路径 -t 新镜像名字
     94         run容器
     95         通过上述步骤,容器内的卷目录地址已经知道对应的主机目录地址啦
     96         备注:
     97             Docker挂载主机目录Docker访问出现cannot open directory.:Permission denied
     98             解决办法:在挂载目录后多加一个--privileged=true参数即可
     99             
    100 数据卷容器(数据共享)
    101     先启动一个父容器dc01
    102         docker run -it --name dc01 容器名称
    103     dc02/dc03继承处dc01
    104         docker run -it --name dc02 --volumes-from dc01 容器名称
    105     回到dc01可以看到02/03各自添加的都能共享了
    106     删除dc01,dc02修改后dc03可以访问的
    107     删除dc02后dc03也可以访问
    108     新建dc04继承dc03后再删除dc03 ,都可以访问
    109     结论:容器之间配置信息的传递,数据的生命周期一直持续到没有容器使用它为止
     1 DockerFile
     2     DockerFile是用来构建Docker镜像构建文件,是由一系列命令和参数构成的脚本
     3     构建三步骤   编写DockerFile文件    docker build   docker run
     4     
     5 DockerFile的解析过程
     6     DockerFile内容基础知识
     7         每条保留字指令都必须为大写字母且后面要跟随至少一个参数
     8         指令按照从上到下,顺序执行
     9         #表示注释
    10         每条指令都会创建一个新的镜像层,并对镜像进行提交
    11     Docker执行DockerFile的大致流程
    12         docker从基础镜像运行一个容器
    13         执行一条指令并对容器作出修改
    14         执行类似docker commit的操作提交一个新的镜像层
    15         docker再基于刚提交的镜像运行一个新容器
    16         执行dcokerfile中的一条指令直到所有指令都执行完成
    17 DockerFile体系结构(保留字指令)
    18     FROM
    19         基础镜像,当前新镜像是基于哪个镜像的
    20     MAINTAINER
    21         镜像维护者的姓名和邮箱地址
    22     RUN
    23         容器构建的时候需要运行的命令
    24     EXPOSE
    25         当前容器对外暴露出的端口号
    26     WORKDIR
    27         指定在创建容器后,终端默认登陆的进来工作目录,一个落脚点
    28     ENV
    29         用来在构建镜像过程中设置环境变量
    30             ENV MY_PATH /usr/mytest
    31             这个环境变量可以在后续的任何RUN指令中使用,这就如同在命令前面指定了环境 变量前缀一样
    32             也可以在其它指令中直接使用这些环境变量,例如: WORKDIR $MY_PATH
    33     ADD
    34         将宿主机目录下的文件拷贝进镜像且ADD命令会自动处理URL和解压tar压缩包
    35     COPY
    36         类似ADD,拷贝文件和目录到镜像中。将从构建上下文目录中<源路径>的文件/目录复制到新的一层镜像内的<目标路径>位置
    37     VOLUME
    38         容器数据卷,用于数据保存和持久化工作
    39     CMD
    40         指定一个容器启动时要运行的命令
    41         DockerFile中可以有多个CMD指令,但只有最后一个生效,CMD会被docker run 之后的参数替换
    42     ENTRYPOINT
    43         指定一个容器启动时要运行的命令
    44         ENTRYPOINT的目的和CMD一样(每个指令才都生效),都是在指定容器启动程序及参数
    45     ONBUILD
    46         当构建一个被继承的Dockerfile时运行命令,父镜像在被子继承后父镜像的ONBUILD被触发
    网络相关命令

    # 查看网络列表
    docker network ls
    # 查看网络详细信息
    docker network inspect brigde(网络名称)
    # 查看容器详细信息
    docker inspect mysql_master(容器名称)
    # 创建网络
    docker network create --driver bridge(网络模式) bridge-test01(网络名称)
    # 创建网络(自己设置网关和子网段)
    docker network create --driver bridge --gateway 172.99.0.1 --subnet 172.99.0.0/16 bridge-test02
    # 断开容器和网络之前联系
    docker network disconnect 网络名称 容器名称
    # 连接容器和网络
    docker network connect 网络名称 容器名称

  • 相关阅读:
    xlib dev[1]
    [转]Kinect for Windows SDK开发入门(三):基础知识 下
    [译]Kinect for Windows SDK开发入门(六):骨骼追踪基础 上
    [转]Kinect for Windows SDK开发入门(七):骨骼追踪基础 下
    [转]Kinect for Windows SDK开发入门(一):开发环境配置
    [转]Kinect for Windows SDK开发入门(四):景深数据处理 上
    [转]Kinect for Windows SDK开发入门(二):基础知识 上
    [转]Kinect for Windows SDK开发入门(五):景深数据处理 下
    Ogre/Torque 基础类plane简单释疑
    torque dts格式大概分析
  • 原文地址:https://www.cnblogs.com/xiongfanyong/p/12940706.html
Copyright © 2020-2023  润新知