美文网首页
Docker镜像

Docker镜像

作者: 糯米藕 | 来源:发表于2016-06-08 17:04 被阅读264次

    1、从docker hub仓库下载一个镜像,并查看下载的镜像:

    $ docker pull ubutun:12.04
    $ docker images
    

    2、使用该镜像创建一个容器,运行bash应用:

    $ docker run -t -i ubuntu:12.04 /bin/bash
    

    除了从仓库下载镜像,当然也可以自己在本地创建镜像,首先要学会修改镜像。

    1.修改镜像

    1、 用下载好的镜像启动容器

    $ docker run –t –i ubuntu:12.04 /bin/bash
    

    2、 在容器内进行操作,安装一些软件等等。

    3、 退出已经被修改的容器,使用docker commit命令提交更新后的容器,从而修改镜像。

    $ docker commit -m "instll gem" -a "docker newbee" ff693a0c8911 ubuntu:12.04
    

    其中,-m指定提交的说明信息,-a指定更新的用户信息,随后的参数是所修改的容器的id,最后是镜像的仓库名和tag信息。创建成功后会返回新镜像的id:


    注:在容器内操作时出现一些问题,gem install json一直报错。一般出现下图所示问题,都是由于源,apt-get update更新一下就好。


    2.创建镜像

    1、 创建一个目录,并进入

    $ mkdir docker_lab
    $ cd docker_lab
    

    2、 创建Dockerfile,build操作会根据Dockerfile的内容执行

    $ touch Dockerfile
    

    Douckerfile内容如下:

    # This is a comment
    FROM ubuntu:14.04 #以该镜像作为基础
    MAINTAINER Docker Newbee newbee@docker.com  #维护者信息
    RUN apt-get -qq update                #RUN后面是需执行的命令
    RUN apt-get install gem
    

    3、 Dockerfile编写完成后开始创建镜像

    $ docker build –t=”user/ubuntu:v2” .
    

    其中-t用来指定仓库名称和tag,而“.”表明Dockerfile所在的目录。



    4、 修改镜像tag

    $ docker tag [镜像id] repository:tag
    

    查看可以发现原tag和新tag都存在,其实这两个是同一个镜像,因为id是一样的。


    3.存出和载入镜像

    1、从本地系统导入镜像

    $ cat openvswitch-2.3.0.tar.gz |docker import - ovs:230
    $ docker images
    

    2、上传镜像

    $ docker login docker.io
    $ docker tag local-image:tagname userfc/lab1:tagname 
    $ docker push userfc/lab1:tagname
    

    上传未成功,可能由于被墙,具体原因有待定位。
    4、 存出镜像

    $ docker save -o ubuntu_12.04.tar ubuntu:12.04 
    

    5、载入镜像

    $ docker load --input ubuntu_12.04.tar 
    

    5、 删除本地镜像

    $ docker rm  [与镜像相关的容器id]
    $ docker rmi [镜像id]
    

    如果不先删除与镜像相关的容器,则无法删除镜像。

    相关文章

      网友评论

          本文标题:Docker镜像

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