美文网首页
Docker基础

Docker基础

作者: 蚂蚁闲游 | 来源:发表于2018-12-30 08:55 被阅读0次

    常用命令

    命令 用途
    docker pull 获取image
    docker build 创建 image
    docker images 列出image
    docker run 运行 container
    docker ps 列出container
    docker rm 删除container
    docker rmi 删除image
    docker cp 在host和container之间拷贝文件
    docker commit 保存改动为新的image

    docker system df

    以上命令来便捷的查看镜像、容器、数据卷所占用的空间

    docker image ls 和 docker images 是一致的, 查看镜像列表;

    docker image ls -f dangling=true

    专门显示这类镜像, 虚悬镜像(dangling image) :
    这个镜像原本是有镜像名和标签的,原来为 mongo:3.2,随着官方镜像维护,发布了新版本后,重新 docker pull mongo:3.2 时,mongo:3.2 这个镜像名被转移到了新下载的镜像身上,而旧的镜像上的这个名称则被取消,从而成为了 <none>。除了 docker pull 可能导致这种情况,docker build 也同样可以导致这种现象。由于新旧镜像同名,旧镜像名称被取消,从而出现仓库名、标签均为 <none> 的镜像。
    一般来说,虚悬镜像已经失去了存在的价值,是可以随意删除的,可以用下面的命令删除。

    docker image prune 删除虚悬镜像;

    docker image ls -a, 可以显示中间层镜像;

    列出部分镜像的方法, 通过docker image ls 扩展实现:

    • docker image ls 仓库名, 可以显示指定名字的所有镜像
    • docker image ls 仓库名:标签, 显示指定仓库名和标签的镜像;
    • docker image ls -f since=mongo:3.2 -f 表示-filter的缩写, 过滤条件。 之后, befor 之前。。
    • docker image ls -f label=com.example.version=0.1 通过label查询
    • docker image ls --format "{{.ID}}:{{.Tag}}:{{.Repository}}"
    • docker image ls --format "table {{.ID}}\t{{.Repository}}\t{{.Tag}}"
    • docker image ls --digests
    • docker image rm $(docker image ls -q redis) 删除所有redis的镜像
    • docker image rm $(docker image ls -q -f before=mongo:3.2) 删除所有mongo:3.2之前的镜像

    docker exec 可以使用这个命令进入到容器。

    $ docker exec -it webserver bash
    root@3729b97e8226:/# echo '<h1>Hello, Docker!</h1>' > /usr/share/nginx/html/index.html
    root@3729b97e8226:/# exit
    exit
    

    Dockerfile语法

    命令 用途
    FROM base image
    RUN 执行命令
    ADD 添加文件
    COPY 拷贝文件
    CMD 执行命令
    EXPOSE 暴露端口
    WORKDIR 指定路径
    MAINTAINER 维护者
    ENV 设定环境变量
    ENTRYPOINT 容器入口
    USER 指定用户
    VOLUME mount pont

    相关文章

      网友评论

          本文标题:Docker基础

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