Docker-image


Docker image 是什么,image,可以说是一个镜像,一个模板,就像你玩虚拟机可以克隆那样。

首先,我们需要从镜像仓库拉取镜像,就比如Docker Hub或者其它的。

Ax 镜像和容器

image(多个层组成)远看就像一个对象 = = = > 但运行时就是一个容器了。
删除镜像之前,必须把所有的容器删除。镜像和容器之间是依赖关系。

特点:镜像比较小,但需要的环境一个也不少。

Bx 使用

a 列出镜像列表

docker images

┌──(enomothem㉿enomothem)-[~/桌面]
└─$ sudo docker images                                                                                        
[sudo] enomothem 的密码:
REPOSITORY                 TAG             IMAGE ID       CREATED         SIZE
<none>                     <none>          f5dce15a50fb   3 days ago      74.5MB
php                        apache          3730d2532c1d   4 weeks ago     417MB
hello-world                latest          d1165f221234   5 weeks ago     13.3kB
php                        7.3.25-alpine   5b879b6b3734   3 months ago    74.3MB
leishianquan/awvs-nessus   v03             a8f823729c69   5 months ago    9.62GB
leishianquan/awvs-nessus   v2              79a13db3167f   10 months ago   8.9GB
vulhub/struts2             2.3.30          13b410ff5928   18 months ago   519MB

REPOSITORY:表示镜像的仓库源
TAG:镜像的标签,标识镜像的版本
IMAGE ID:镜像ID
CREATED:镜像创建时间
SIZE:镜像大小

b 拉取一个镜像

docker pull ubuntu:13.10

┌──(enomothem㉿enomothem)-[~/桌面]
└─$ sudo docker pull ubuntu:13.10                                                                             
13.10: Pulling from library/ubuntu
Image docker.io/library/ubuntu:13.10 uses outdated schema1 manifest format. Please upgrade to a schema2 image for better future compatibility. More information at https://docs.docker.com/registry/spec/deprecated-schema-v1/
a3ed95caeb02: Pull complete 
0d8710fc57fd: Pull complete 
5037c5cd623d: Pull complete 
83b53423b49f: Pull complete 
e9e8bd3b94ab: Pull complete 
7db00e6b6e5e: Pull complete 
Digest: sha256:403105e61e2d540187da20d837b6a6e92efc3eb4337da9c04c191fb5e28c44dc
Status: Downloaded newer image for ubuntu:13.10
docker.io/library/ubuntu:13.10

c 进入启动关闭镜像

启动镜像

docker run/stop image

进入交互的镜像

docker run -t -i ubuntu:15.10 /bin/bash

可以指定镜像名也可以是镜像ID

  • -i: 交互式操作。
  • -t: 终端。
  • ubuntu:15.10: 这是指用 ubuntu 15.10 版本镜像为基础来启动容器。
  • /bin/bash:放在镜像名后的是命令,这里我们希望有个交互式 Shell,因此用的是 /bin/bash。

d 查找镜像

docker search httpd

e 删除镜像

docker rmi hello-world

如果不行,就 -f 强制删除

f 创建镜像

创建一个自己的镜像,以下载的Ubuntu为例,进去作一番操作之后,再提交成副本。

docker commit -m="这是配置后的" -a="Enomothem" 7f020f7bf345 enomothem/ubuntu:v2

  • -m: 提交的描述信息
  • -a: 指定镜像作者
  • 7f020f7bf345 :容器 ID
  • enomothem/ubuntu:v2: 指定要创建的目标镜像名

文章作者: Enomothem
版权声明: 本博客所有文章除特别声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Enomothem !
  目录