zoukankan      html  css  js  c++  java
  • Docker 学习记录(基础命令)

    1. 获取镜像

    docker pull [选项] [Docker Registry 地址[:端口号]/]仓库名[:标签]  ===>   docker pull ubuntu:16:04

    2.运行

    docker run -it --rm ubuntu:16.04 bash   

      一个是 -i :交互式操作,一个是 -t 终端

      --rm :这个参数是说容器退出后随之将其删除。

      ubuntu:16.04 :这是指用 ubuntu:16.04 镜像为基础来启动容器。

      bash :放在镜像名后的是命令,这里我们希望有个交互式 Shell,因此用的是 bash

    3.列出镜像:

      docker image ls

    4.镜像体积

      docker system df

    5.删除虚悬镜像

      docker image prune

    6.列出部分镜像

      docker image ls ubuntu

      docker image ls ubuntu:16.04

      还支持强大的过滤器参数 --filter ,或者简写 -f 。 docker image ls -f since=mongo:3.2 (since 是在之后建立的镜像,before是在之前建立的镜像)

      docker image ls -q 把所有镜像的ID列出来

      docker image ls --format "{{.ID}}: {{.Repository}}"  ==>定义输出模板

      ==> 5f515359c7f8: redis

      ==> 05a60462f8ba: nginx

      ==> fe9198c04d62: mongo

      docker image ls --digests 镜像摘要

    7.删除本地镜像

      docker image rm 

    8.删除容器

      docker rm

    9.CentOS/RHEL 的用户需要注意的事项

      在 Ubuntu/Debian 上有 UnionFS 可以使用,如 aufs 或者 overlay2 ,而 CentOS 和 RHEL 的内核中没有相关驱动。因此对于这类系统,一般使用 devicemapper 驱动利用 LVM 的一些 机制来模拟分层存储。这样的做法除了性能比较差外,稳定性一般也不好,而且配置相对复 杂。Docker 安装在 CentOS/RHEL 上后,会默认选择 devicemapper ,但是为了简化配置, 其 devicemapper 是跑在一个稀疏文件模拟的块设备上,也被称为 loop-lvm 。这样的选择是 因为不需要额外配置就可以运行 Docker,这是自动配置唯一能做到的事情。但是 loop-lvm 的做法非常不好,其稳定性、性能更差,无论是日志还是 docker info 中都会看到警告信 息。官方文档有明确的文章讲解了如何配置块设备给 devicemapper 驱动做存储层的做法,这 类做法也被称为配置 direct-lvm 。 除了前面说到的问题外, devicemapper + loop-lvm 还有一个缺陷,因为它是稀疏文件,所 以它会不断增长。用户在使用过程中会注意到 /var/lib/docker/devicemapper/devicemapper/data 不断增长,而且无法控制。很多人会希望删 除镜像或者可以解决这个问题,结果发现效果并不明显。原因就是这个稀疏文件的空间释放 后基本不进行垃圾回收的问题。因此往往会出现即使删除了文件内容,空间却无法回收,随 着使用这个稀疏文件一直在不断增长。

      所以对于 CentOS/RHEL 的用户来说,在没有办法使用 UnionFS 的情况下,一定要配置 direct-lvm 给 devicemapper ,无论是为了性能、稳定性还是空间利用率。
      或许有人注意到了 CentOS 7 中存在被 backports 回来的 overlay 驱动,不过 CentOS 里的 这个驱动达不到生产环境使用的稳定程度,所以不推荐使用

    10.commit 理解镜像构成 但不要使用docker commit 定制镜像 

      docker commit [选项] <容器ID或容器名> [<仓库名>[:<标签>]]

    $ docker commit --author "Tao Wang <twang2218@gmail.com>" --message "修改了默认网页" webserver nginx:v2 
     sha256:07e33465974800ce65751acc279adc6ed2dc5ed4e0838f8b86f0c87aa1795214
    

    11.docker history 查看某个镜像的历史记录

    12.docker diff 查看容器存储层的具体改动(存储层中的数据随容器删除而删除,不会被保存下来)

    13 docker exec 进入容器,修改内容

    14.Dockerfile定制镜像

  • 相关阅读:
    SCM基础之SCM配置管理计划重要性
    SCM基础之合理设计配置库
    SCM英文术语
    中国歼20隐形战机首飞成功
    SCM基础之过程描述
    SCM基础之基线审核
    SCM基础之组织结构设计
    SCM基础之如何做到配置管理
    配置管理介绍
    软件配置管理的任务
  • 原文地址:https://www.cnblogs.com/joy9707/p/9407168.html
Copyright © 2011-2022 走看看