美文网首页
docker 镜像操作

docker 镜像操作

作者: xyz098 | 来源:发表于2019-05-24 11:44 被阅读0次
  • 创建
  • 查看
  • 操作

镜像

理解:静态代码文件。 镜像IMAGE ID唯一标识镜像。
镜像文件由多个层组成。相同的镜像层本地只会存储一份,减少存储空间。

创建
  • 已有镜像的容器

    docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]
    docker commit -m "add a new file" -a "vera" alertmanger testcreate:0.1    //根据容器创建镜像
    
  • 基于本地模板导入
    使用Open VZ提供模板创建 openvz

    docker import [OPTIONS] file|URL|- [REPOSITORY[:TAG]]
    cat centos-6-x86-minimal.tar.gz | docker import - centos:6      //根据模板导入创建镜像
    
  • Dockerfile构建
    四部分:基础镜像信息、维护者信息、镜像操作指令、容器启动执行

    简介

    $ cat /data/docker/alertmanager/Dockerfile
    ARG ARCH="amd64"
    ARG OS="linux"
    
    # 基础镜像,本地不存在拉仓库。 Dockerfile中必须有FROM指令
    FROM quay.io/prometheus/busybox-${OS}-${ARCH}:latest  
    # LABEL指定镜像元信息,maintainer指定维护者信息
    LABEL version="0.1.16"
    LABEL maintainer="The Prometheus Authors <prometheus-developers@googlegroups.com>"
    
    # 镜像操作指令
    COPY ./bin/alertmanager  /bin/alertmanager   # 本机目录复制到镜像内
    ADD  ./start.sh /start.sh                    # 复制到镜像内可正则,如果是tar自动解压
    RUN mkdir -p /alertmanager/cfg && \         # 每运行一条RUN指令,镜像新增一层,并提交
        chown -R root:root /alertmanager/cfg
    COPY ./cfg/*  /alertmanager/cfg/
    USER       root                       # 指定用户
    EXPOSE     9093                       # 声明镜像内暴露的端口,启动时-P指定完成与主机的端口映射
    VOLUME     [ "/alertmanager/data" ]   # 创建挂载点
    WORKDIR    /alertmanager              # 为RUN、CMD、ENTRYPOINT指定默认工作目录
    # STOPSIGNAL  signal                    # 容器接收退出时的信号值                           
    # HEALTHCHECK NONE                      # 禁用监控检测
    
    # 容器启动执行
    # 只能有一条CMD命令,指定了多条命令,最后一条被执行。启动run容器时指定运行命令,会覆盖CMD
    CMD ["sh" ,"-c", "/start.sh"]
    # 镜像默认入口命令,启动容器时为根命令运行。运行run时--entrypoint可以覆盖
    ENTRYPOINT ["sh","-c","/start.sh"] 
    

    构建

    
    # 基于存在Dockerfile文件目录构建镜像
    docker build -t myalert:1.16.0 /data/docker/alertmanager/   
    
    # .dockerignore文件忽略匹配模式路径下目录和文件
    # 一般在Dockerfile中使用了正则复制时,额外排除用
    $ cat  /data/docker/alertmanager/.dockerignore
    cfg/*.txt
    
查看
docker images                                    // 查看本地所有镜像
docker tag alertmanager:latest myalert:1.16.0    //添加镜像标签。两个tag的ImageID一致
docker inspect myalert:1.16.0                    //查看镜像详细信息
docker inspect myalert:1.16.0 -f {{.Config}}     //获取镜像配置信息
docker history myalert:1.16.0                    //查看镜像各层的创建信息
docker history myalert:1.16.0 --no-trunc         //过长命令不截断
docker search nginx -s 3                         //搜寻镜像指定stars大于3
操作
docker rmi alertmanager-v4:latest  alertmanager-v7  //指定tag删除镜像
docker rmi 5d192514640e                             //指定imageID删除镜像

docker pull Name[:TAG]       //拉取镜像,默认仓库registry.hub.docker.com,默认tag为latest非稳定版
docker push [OPTIONS] NAME[:TAG]      
docker tag myalert:1.16.0 vera/alertmanager:1.16.0   //推到默认仓库,用户为vera
docker tag myalert:1.16.0 hub.c.163.com/vear/alertmanager:1.16.0
docker push hub.c.163.com/vera/alertmanager    //推到指定仓库,用户为vera,要登录

docker save -o alertmanager.tar myalert:1.16.0   //保存镜像
docker rmi myalert:1.16.0
docker load --input alertmanager.tar          //载入镜像

相关文章

  • docker基本操作

    # docker基本操作 ## 镜像操作 ### 获取镜像 从Docker Hub搜索镜像: docker s...

  • Docker命令及实战

    常用Docker命令 docker容器信息 镜像操作 镜像搜索 镜像下载 删除镜像 容器操作 提示:对于容器的操作...

  • 大觅网

    Docker镜像操作查看镜像:docker images搜索镜像:docker search 镜像关键字拉取镜像:...

  • Docker基本操作

    1. 镜像操作 搜索镜像:docker search 镜像名 拉取镜像docker pull 镜像名docker ...

  • Docker常用命令

    镜像操作docker images 查看所有镜像docker pull <镜像名:tag> 拉取镜像 如:...

  • Docker

    [TOC] 使用 Docker 镜像 下载镜像 列出镜像 构建镜像 删除本地镜像 操作 Docker 容器 容器是...

  • docker命令

    镜像、容器基本操作 1、获取镜像docker pull 2、运行容器docker run docker run -...

  • Docker常用命令学习

    启动docker引擎 重启docker引擎 查看docker版本 docker镜像常用操作查看本地所有镜像 其中R...

  • Docker入门-常用命令

    Docker镜像操作 Docker运行容器前需要本地存在对应的镜像,如果本地不存在该镜像,Docker会从镜像仓库...

  • Docker常用操作命令

    镜像操作 安装镜像 镜像仓库 Docker仓库[https://hub.docker.com/]版本号在tags中...

网友评论

      本文标题:docker 镜像操作

      本文链接:https://www.haomeiwen.com/subject/ujhgzqtx.html