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定制镜像

  • 相关阅读:
    C++笔记(2018/2/6)
    2017级面向对象程序设计寒假作业1
    谁是你的潜在朋友
    A1095 Cars on Campus (30)(30 分)
    A1083 List Grades (25)(25 分)
    A1075 PAT Judge (25)(25 分)
    A1012 The Best Rank (25)(25 分)
    1009 说反话 (20)(20 分)
    A1055 The World's Richest(25 分)
    A1025 PAT Ranking (25)(25 分)
  • 原文地址:https://www.cnblogs.com/joy9707/p/9407168.html
Copyright © 2011-2022 走看看