Docker镜像

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:


Docker镜像_第1张图片

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


Docker镜像_第2张图片

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 [email protected]  #维护者信息
RUN apt-get -qq update                #RUN后面是需执行的命令
RUN apt-get install gem

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

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

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


Docker镜像_第3张图片

4、 修改镜像tag

$ docker tag [镜像id] repository:tag

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


Docker镜像_第4张图片

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镜像)