zoukankan      html  css  js  c++  java
  • Docker(6):Docker镜像基本操作(下)

    1、清理镜像

    使用Docker一段时间后,系统中可能会遗留一些临时的镜像文件,以及一些没有被使用的镜像,可以通过docker image prune命令来进行清理。

    支持选项包括:

    -a, -all:删除所有无用镜像,不光是临时镜像;

    -filter filter:只清理符合给定过滤器的镜像;

    -f, -force:强制删除镜像,而不进行提示确认。

    例:清理临时的遗留镜像文件层

    #  docker image prune -f

    2、创建镜像

    创建镜像的方法主要有三种:基于已有镜像的容器创建、基于本地模板导入、基于Dockerfile创建

    1)、基于已有镜像的容器创建

    首先启动一个镜像。

    #  docker run -it centos /bin/bash

     成功创建容器,并进入容器当中。记住容器的ID为:4dbd1cec2e5f

    在新创建的centos容器的 /usr/local 目录下创建 test.txt 文件

    #  cd /usr/local/
    #  touch test.txt

     然后退出容器

    #  exit

    此时该容器与原centos镜像相比,在 /usr/local 目录下多了test.txt 文件

    使用docker  commit 命令来提交为一个新的镜像

    # docker commit -m "add a new file" -a "Aiden" 4dbd1cec2e5f aiden/centos:1.0

     创建完成,使用 docker images 查看本地镜像

    #  docker ps

     可以看到新创建的镜像

    2)、基于本地模板导入

    可以直接从一个操作系统的模板文件导入成一个镜像,使用docker import 命令。

    命令格式: docker [image] import [OPTIONS] file|URL|-[REPOSITORY [:TAG]]

    下载centos7 的模板文件,https://download.openvz.org/template/precreated/  , 将下载好的模板文件上传至机器  /usr/local  路径下:

     将模板文件导入成镜像:

    #  cat centos-7-x86_64.tar.gz | docker import - centos:7.0

    导入完成,可以看到新导入的系统镜像:

     3)、基于Dockerfile文件创建

    参考: https://www.cnblogs.com/guoxiangyue/p/10021885.html

    3、镜像的存出和载入

    1)、镜像的存出

    镜像的存储可以将docker中的镜像导入到本地文件当中。

    使用命令:docker [image] save

    例:将之前创建的 aiden/centos:1.0 镜像 ,导出保存至本地。

    #  docker save -o aiden_centos_1.0.tar aiden/centos:1.0

    执行完毕,可在本地目录中,看到导出的镜像文件:

      2)、载入镜像

    可以将从别处复制过来的镜像文件,载入到当前的docker环境中。

    使用命令:docker [image] load

    例:将刚才导出的aiden/centos:1.0 的镜像,重新载入到docker环境中。

    首次将docker中现有的aiden/centos:1.0删除掉

    #  docker rmi aiden/centos:1.0

     现有镜像中,已经没有aiden/centos:1.0 镜像:

     从文件 aiden_centos_1.0.tar  中 将镜像导入到本地镜像列表

    #  docker load -i aiden_centos_1.0.tar

     然后查看本地镜像列表,可看到aiden/centos:1.0 已经载入进来。

     4、上传镜像

    可将本地的docker镜像 上传至 Docker Hub的官方仓库,也可通过配置将镜像上传至阿里云仓库和本地私有仓库。

    使用命令:docker [image] pushNAME[:TAG] | [REGISTRY_HOST[:REGISTRY_PORT]/]NAME[:TAG] 

  • 相关阅读:
    Javascript定义类(class)的三种方法
    npm命令ionic安装失败cordova安装失败解决方法
    解决类似 Requires: libstdc++.so.6(GLIBCXX_3.4.15)(64bit)的问题
    log_format为Nginx设置日志格式
    Nginx设置日志分割方法
    java和h5 canvas德州扑克开发中(二)
    java和h5 canvas德州扑克开发中(一)
    使用Reaver破解开启了WPS功能的wifi密码(wpa/wpa2)
    在Wifi网络中嗅探明文密码(HTTP POST请求、POP等)
    创建假的wifi热点
  • 原文地址:https://www.cnblogs.com/guoxiangyue/p/12532607.html
Copyright © 2011-2022 走看看