zoukankan      html  css  js  c++  java
  • Docker 镜像相关

    获取镜像

    • docker pull
      docker pull [选项] [Docker Registry 地址[:端口号]/]仓库名[:标签]
      
      • Docker 镜像仓库地址:地址的格式一般是 <域名/IP>[:端口号]。默认地址是 Docker Hub。
      • 仓库名:如之前所说,这里的仓库名是两段式名称,即 <用户名>/<软件名>。对于 Docker Hub,如果不给出用户名,则默认为 library,也就是官方镜像。
      $ docker pull ubuntu:16.04
      
    • docker run
      $ docker run -it --rm 
          ubuntu:16.04 
          bash
      
      • -it
        interaction 和 terminal,交互式终端
      • --rm
        remove,用完后自动删除
      • ubuntu:16.04
        使用的镜像
      • bash
        运行后使用bash
    • docker exec
      在运行的容器中执行命令
      docker exec -it bf130089d033 bash
      
      • -d :
        分离模式: 在后台运行
      • -i :
        即使没有附加也保持STDIN 打开
      • -t :
        分配一个伪终端

    列出镜像

    • docker image ls || docker images
      显示仓库名、标签、镜像 ID、创建时间以及所占用的空间。
      root@len:~# docker image ls
      REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
      tomcat              9-jre8              08ea7be8264a        27 hours ago        464MB
      tomcat              latest              27600aa3d7f1        27 hours ago        463MB
      ubuntu              16.04               a3551444fc85        12 days ago         119MB
      
    • docker system df
      查看真实的镜像、容器、数据卷所占用的空间。
      root@len:~# docker system df
      TYPE                TOTAL               ACTIVE              SIZE                RECLAIMABLE
      Images              3                   1                   600.9MB             582.8MB (96%)
      Containers          1                   0                   57.43kB             57.43kB (100%)
      Local Volumes       0                   0                   0B                  0B
      Build Cache         0                   0                   0B                  0B
      
    • docker image ls -a
      显示全部镜像
    • docker image prune
      删除无意义的虚悬镜像
      root@len:~/docker/tomcat# docker images
      REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
      <none>              <none>              b1d3946144d1        27 seconds ago      503MB
      <none>              <none>              557d0f6e459a        36 hours ago        463MB
      <none>              <none>              594ec29cf32d        36 hours ago        463MB
      <none>              <none>              9a832102d97c        36 hours ago        463MB
      
      由于在拉取和构建过程中,版本号被替代后原来的镜像就失去了意义,需要删除:
      docker image prune
      
      如果删除失败则说明有容器在占用,删除容器后再删除虚悬镜像

    删除镜像

    docker image rm [选项] <镜像1> [<镜像2> ...]
    

    <镜像> 可以是:

    • 镜像短 ID:3个字符以上即可
    • 镜像长 ID:完整的ID
    • 镜像名:镜像名
    • 镜像摘要:DIGEST号码

    Dockerfile

    一般的,需要在空白目录新建 Dockerfile 的文件,在里面写入相应指令

    • FROM
      表示以XX镜像为基础,在其上定制修改。
    • RUN
      表示执行命令行,++每运行一次 RUN 命令,就会建立一层镜像++,因此要减少 RUN 的层数。有两种格式:
      • shell 格式
        直接写相应 shell 脚本即可
      • exec 格式
        类似调用函数
    FROM tomcat
    COPY index.html /usr/local/tomcat/webapps/ROOT
    

    表示把上下文目录中的 index.html 拷贝到镜像中的目录中

    构建自己的镜像

    • docker build
      参数: -t 表示 target
      docker build -t myimage:v1 .
      
      表示将当前目录的文件打包,目标是myimage的v1版
      root@len:~/docker/tomcat# docker build -t myimage .
      Sending build context to Docker daemon  3.072kB
      Step 1/2 : FROM tomcat
       ---> 27600aa3d7f1
      Step 2/2 : COPY index.html /usr/local/tomcat/webapps/ROOT
       ---> Using cache
       ---> b2baada4a8f5
      Successfully built b2baada4a8f5
      Successfully tagged myimage:latest
      
      看出,此过程分别执行对应的指令,打包成不同的层
    • 参数中 . 的理解
      . 指的是上下文环境,并不一定是Dockerfile文件所在的目录(该文件可以在任意地方,使用 -f ../XXX指定),需要什么文件就将什么文件放入该目录再打包。

    Dockerfile指令

    • ADD
      会自动将 tar 包解压
      ADD app.tar.gz .
    • WORKDIR
      由于每条指令对应的是不同层,因此shell的执行路径不一定相同,所以先指定工作目录
      WORKDIR /usr/local/tomcat/webapps/ROOT
    • EXPOSE
      暴露出端口

    没有修不好的电脑
  • 相关阅读:
    证明LDU分解的唯一性
    SVD图片有损压缩测试
    复数系下常量乘向量的范数
    6.4.2定理证明
    证明2x2正交矩阵专置后还是正交矩阵
    百度地图 ijintui以及七牛、百度编辑器、kindeditor
    安装和使用solr
    Python验证码识别处理实例 深度学习大作业
    lucene之中文分词及其高亮显示
    Elasticsearch报警插件Watch安装以及使用
  • 原文地址:https://www.cnblogs.com/duniqb/p/12702475.html
Copyright © 2011-2022 走看看