您的位置:首页 > 运维架构 > Docker

docker 命令整理

2018-03-01 16:12 281 查看
centos6.5 安装docker

     yum -y install docker-io
     service docker start
     chkconfig docker on
     
     搜索镜像: docker search  <image>   eg. docker search centos
      
     拉取镜像:
     docker pull <image> :从docker registry server 中下拉取image

    查看镜像 
    docker images: 列出images
    docker images -a :列出所有的images(包含历史)
    docker images --tree :显示镜像的所有层(layer)
    docker rmi  <image ID>: 删除一个或多个image

    使用镜像创建容器
    [root@localhost /]# docker run chug/ubuntu12.10x64  /bin/echo hello world

    交互式运行
    [root@localhost /]# docker run -i -t chug/ubuntu12.10x64  /bin/bash
    root@2161509ff65e:/#

    查看容器
    docker ps :列出当前所有正在运行的container
    docker ps -l :列出最近一次启动的container
    docker ps -a :列出所有的container(包含历史,即运行过的container)
    docker ps -q :列出最近一次运行的container ID

    删除容器
    docker rm <container...> :删除一个或多个container
    docker rm `docker ps -a -q` :删除所有的container
    docker ps -a -q | xargs docker rm :同上, 删除所有的container

    持久化容器与镜像
    通过容器生成新的镜像
    运行中的镜像称为容器。你可以修改容器(比如删除一个文件),但这些修改不会影响到镜像。不过,你使用docker commit <container-id> <image-    name>命令可以把一个正在运行的容器变成一个新的镜像。
    docker commit <container> [repo:tag] 将一个container固化为一个新的image,后面的repo:tag可选。

    [root@localhost /]# docker images
    REPOSITORY            TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
    chug/ubuntu12.10x64   latest              0b96c14dafcd        4 months ago        270.3 MB
    [root@localhost /]# docker commit d0fd23b8d3ac chug/ubuntu12.10x64_2
    daa11948e23d970c18ad89c9e5d8972157fb6f0733f4742db04219b9bb6d063b
    [root@localhost /]# docker images
    REPOSITORY              TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
    chug/ubuntu12.10x64_2   latest              daa11948e23d        6 seconds ago       270.3 MB
    chug/ubuntu12.10x64     latest              0b96c14dafcd        4 months ago        270.3 MB

    持久化容器
    export命令用于持久化容器
    docker export <CONTAINER ID> > /tmp/export.tar

    持久化镜像
    Save命令用于持久化镜像
    docker save 镜像ID > /tmp/save.tar

    导入持久化container
    删除container 2161509ff65e

    导入export.tar文件

    [root@localhost /]# cat /tmp/export.tar | docker import - export:latest

    导入持久化image
    删除image daa11948e23d

    导入save.tar文件
    [root@localhost /]# docker load < /tmp/save.tar
    
    对image打tag
    [root@localhost /]# docker tag daa11948e23d load:tag

    export-import与save-load的区别
    导出后再导入(export-import)的镜像会丢失所有的历史,而保存后再加载(save-load)的镜像没有丢失历史和层(layer)。这意味着使用导出后再导入的方式,你将无法回滚到之前的层(layer),同时,使用保存后再加载的方式持久化整个镜像,就可以做到层回滚。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: