zoukankan      html  css  js  c++  java
  • Docker入门之三容器

    上一篇博客学习了下镜像,今天来学习容器。容器类似一个手机中的沙盒环境,用来运行app实例。和镜像一样也是对容器的创建、删除、导出等。

    由于我买的参考书中的例子好多都是基于linux的,所以我将docker切换到Linux容器下,然后run了一个ubuntu镜像。

    一.新建与启动容器

    1.创建容器使用create,还是老方法,通过help来查看。create的options有好多选项,这里只是入门,大致的学一下,不一一细讲。以后有机会了再说,毕竟这是对docker的第一遍学习。

    下面我使用create创建容器,镜像是ubuntu.返回容器id。通过ps可以看到一个状态是created的容器,此时的容器并没有启动,启动的话需要使用另外一个命令start。首先看下格式及参数。

    此时再通过ps查看容器发现它的状态已经变成up了。

    2.使用run新建并启动容器

    上面是先使用create创建一个容器然后使用start启动它,其实可以直接使用run来新建并启动容器。当利用docker run来创建并启动容器时,Docker在后台运行的标准操作包括:

    1.检查本地是否存在指定的镜像,不存在就从公有仓库下载。

    2.利用镜像创建一个容器,并启动。

    3.分配一个文件系统给容器,并在只读的镜像层外面挂载一层可读写层。

    4.从宿主主机配置的网桥接口中桥接一个虚拟接口到容器中

    5.从网桥的地址池配置一个IP地址给容器

    6.执行用户指定的应用程序。

    7.执行完毕后容器自动终止。

    run的help和create的差不多。

    二、守护态运行

    有时候需要让docker容器在后台以守护态形式运行,可以通过-d来实现。如下图开启一个ubuntu容器启动bin/sh下脚本 执行后面的脚本语句,让它每隔10毫秒输出一个helloworld.然后可以通过logs来查看它的输出,可以看到第一次输出了两个,第二次输出了三个。

    三、终止容器

    上面的容器一直在后台运行,可以通过ps来查看它的状态

    如果想终止它,可以使用stop。下图是stop的格式和参数。

    这里将上面的容器终止掉,可以使用ps再次查看下它的状态。可以看到状态已经是退出。

    四、进入容器

    启动容器之后就是进入容器,对容器进行操作,操作有两个命令。

    1.attach命令

    还是从help开始,这里先启动ubuntu

    下图是使用attach进入容器,先点击了下回车,然后使用echo输出abc.最后使用ctrl p  ctrl q退出

    2.exec命令

    还是看help

    使用exec命令进入ubuntu的bin/bash下然后输出cuiyw最后ctrl p ctrl q退出

    五、容器的导入导出

    镜像有导入导出容器也有导入导出。

    1.export导出

    还是help,和镜像的类似,也使用-o,这里将ubuntu容器导出到E:docker est_ubuntu.tar,完成之后就会在文件夹下看到

    2.import导入

    还是help,然后将上面导出的再导进来

    此时再查看镜像时就会出现cuiyw/ubuntu的镜像

    3.load import的区别

    load是导入镜像存储文件到本地镜像库,import是导入一个容器快照到本地镜像库。区别是容器快照文件将丢弃所有的历史记录和元数据信息,仅仅保存容器当前的快照状态,镜像文件将保存完整记录,体积更大,容器快照导入时可以重新指定标签等元数据信息。

  • 相关阅读:
    CentOS虚拟机和物理机共享文件夹实现
    集训第六周 数学概念与方法 概率 数论 最大公约数 G题
    集训第六周 数学概念与方法 概率 F题
    集训第六周 E题
    集训第六周 古典概型 期望 D题 Discovering Gold 期望
    集训第六周 古典概型 期望 C题
    集训第六周 数学概念与方法 UVA 11181 条件概率
    集训第六周 数学概念与方法 UVA 11722 几何概型
    DAG模型(矩形嵌套)
    集训第五周 动态规划 K题 背包
  • 原文地址:https://www.cnblogs.com/5ishare/p/7598860.html
Copyright © 2011-2022 走看看