docker镜像使用的作业截图_docker 打包镜像「建议收藏」

docker镜像使用的作业截图_docker 打包镜像「建议收藏」安装请参考:https://blog.csdn.net/wanchaopeng/article/details/887963541.docker下载镜像dockerpullcentos2.docker查看镜像[roo

安装请参考:

https://blog.csdn.net/wanchaopeng/article/details/88796354

1.docker下载镜像

docker pull centos

        一般来说,镜像的latest标签意味着该镜像的内容会跟踪最新版本的变化而变化,内容是不稳定的

        镜像文件一般是由若干层(layer)组成,使用docker pull命令下载中会获取并输出镜像各层信息,当不同的镜像包括相同的层时,本地仅存储了层的一份内容,减小了存储空间。

2. docker 查看镜像

  使用docker images或docker images ls 命令可以列出本地主机上已有镜像的基本信息

[root@ybsrv1 /]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
centos              latest              ee2526f4865b        10 days ago         201.8 MB
来自哪个仓库,比如centos表示centos系列的基础镜像

镜像的标签信息,比如laster表示不同的版本信息。标签只是标记,并不能标识镜像内容

镜像的ID(唯一标识镜像),如果两个镜像ID相同,说明他们实际上只想了同一个镜像,只是具有不同标签名

创建时间 说明镜像最后的更新时间

镜像大小 
-a, --all=true|false: 列出所有(包括临时文件)镜像文件,默认为否;

--digests=true|false: 列出镜像的数字摘要值,默认为否

-f, --filter=[] : 过滤列出的镜像,如dangling=true只显示没有被使用的镜像; 也可指定电邮特定标注的镜像等

--format="TEMPLATE":输出控制格式,如 .ID 代表ID信息, .Repository 代表仓库信息等

--no-trunc=true|false: 对输出结果中太长的部分是否进行截断,如镜像的ID信息,默认为是;

-q, --quiet=true|false: 仅输出ID信息,默认为否

其中,还支持对输出结果进行控制的选项,如 -f. –filter= [], –no-trunc=true|false, -q –quiet=true|false等

3. docker添加标签

[root@ybsrv1 /]# docker tag centos:latest linux:latest
[root@ybsrv1 /]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
centos              latest              ee2526f4865b        10 days ago         201.8 MB
linux               latest              ee2526f4865b        10 days ago         201.8 MB

4. docker 查看详细信息

docker inspect ee2526f4865b

查看单个信息

[root@ybsrv1 /]# docker inspect -f {
  
  {".Architecture"}} ee2
amd64

4.1 使用history命令查看镜像历史

查看centos:latest镜像创建过程,可以使用如下命令:

[root@kubernetes /etc/docker]# docker history centos 
IMAGE               CREATED             CREATED BY                                      SIZE                COMMENT
470671670cac        2 months ago        /bin/sh -c #(nop)  CMD ["/bin/bash"]            0B                  
<missing>           2 months ago        /bin/sh -c #(nop)  LABEL org.label-schema.sc…   0B                  
<missing>           2 months ago        /bin/sh -c #(nop) ADD file:aa54047c80ba30064…   237MB 

注意,过长的命令被自动截断,可以使–no-trunc选项来输出完整命令

5. 搜寻镜像

[root@ybsrv1 /]# docker search mysql
NAME                                                   DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
mysql                                                  MySQL is a widely used, open-source relati...   7949      [OK]       
mariadb                                                MariaDB is a community-developed fork of M...   2659      [OK]       
mysql/mysql-server                                     Optimized MySQL Server Docker images. Crea...   598                  [OK]
...

6.删除镜像

使用docker rmi或docker image rm命令可以删除镜像,命令格式为docker rmi IMAGE其中IMAGE可以为标签或ID 

-f -force: 强制删除镜像,即使有容器依赖它

-no-prune: 不要清理未带标签的父镜像
[root@ybsrv1 /]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
centos              latest              ee2526f4865b        10 days ago         201.8 MB
linux               latest              ee2526f4865b        10 days ago         201.8 MB

[root@ybsrv1 /]# docker rmi linux:latest
Untagged: linux:latest

[root@ybsrv1 /]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
centos              latest              ee2526f4865b        10 days ago         201.8 MB

[root@ybsrv1 /data]# docker ps -a 
CONTAINER ID        IMAGE               COMMAND                CREATED             STATUS                     PORTS               NAMES
2705c7d53909        ubuntu:14.04        "/bin/bash"            4 hours ago         Exited (0) 4 hours ago                         clever_sammet       
90a1c9ed8d1d        ubuntu              "echo 'i see world'"   5 hours ago         Exited (127) 5 hours ago                       angry_hodgkin       
[root@ybsrv1 /data]# docker rmi ubuntu
Error response from daemon: Conflict, cannot delete 9989c6003fac because the container 90a1c9ed8d1d is using it, use -f to force
Error: failed to remove images: [ubuntu]
[root@ybsrv1 /data]# docker rmi -f ubuntu   #强制删除后台运行镜像

注意: 当该镜像创建的容器存在时,镜像文件默认是无法被删除的

[root@kubernetes /etc/docker]# docker rmi centos 
Error: No such image: centos

[root@kubernetes /etc/docker]# docker ps -a 
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                     PORTS               NAMES
813286dbd367        centos              "echo 'hello! I am h…"   7 seconds ago       Exited (0) 6 seconds ago                       hungry_wilbur

若想强制删除,使用-f 参数

[root@kubernetes /etc/docker]# docker rmi -f centos 
Untagged: centos:latest
Untagged: centos@sha256:fe8d824220415eed5477b63addf40fb06c3b049404242b31982106ac204f6700
Deleted: sha256:470671670cac686c7cf0081e0b37da2e9f4f768ddc5f6a26102ccd1c6954c1ee

6.1 清理镜像

7、创建镜像

创建镜像的方法有三种,基于已有进行的容器创建,基于本地模板的导入,基于dockerfile的创建

7.1 基于已有镜像的容器创建

该方法主要是使用docker commit 命令,其命令格式为docker commit  [OPTIONS] CONTAINER [REPOSITORY [:TAG]]

-a –author= ” ” 作者信息

-m –message=” ” 提交信息

-c –change=[]: 提交的时候执行Dockerfile指令,包括CMD|ENTPOINT|ENV|EXPOSE|LABEL|ONBUILD|USER|VOLUME|WORKDIR等;

-p –pause=true 提交时暂停容器运行

[root@ybsrv1 /data]# docker run -ti data:latest /bin/bash
root@e2c7c7337034:/# touch test
root@e2c7c7337034:/# exit

  查看容器id

[root@ybsrv1 /data]# docker ps -a 
CONTAINER ID        IMAGE               COMMAND                CREATED              STATUS                       PORTS               NAMES
e2c7c7337034        data:latest         "/bin/bash"            About a minute ago   Exited (0) 50 seconds ago                        serene_archimedes   
39d704402e50        ubuntu:latest       "/bin/bash"            2 minutes ago        Exited (127) 2 minutes ago                       sick_euclid         
2705c7d53909        ubuntu:14.04        "/bin/bash"            4 hours ago          Exited (0) 4 hours ago                           clever_sammet       
90a1c9ed8d1d        ubuntu              "echo 'i see world'"   5 hours ago          Exited (127) 5 hours ago                         angry_hodgkin       

[root@ybsrv1 /data]# docker commit -m "add a new file" -a "root" e2c7c7337034 test
2defae56a52547bc10066670448e5b76e1c615d68cc5ab6a6de6fb60cf87a213

[root@ybsrv1 /data]# docker images 
REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
test                latest              2defae56a525        4 seconds ago       188.1 MB
data                latest              a3158aa0a86b        4 hours ago         188.1 MB
centos              latest              ee2526f4865b        11 days ago         201.8 MB
ubuntu              14.04               cd44af56e7ce        2 weeks ago         188.1 MB
ubuntu              latest              9989c6003fac        2 weeks ago         88.91 MB

7.2 基于本地模板导入

也可直接从一个操作系统模板文件导入一个镜像,主要使用docker [container] import命令。

格式为:

docker [image] import [OPTIONS] file|URL| - [REPOSITORY [:TAG]]

下载centos的模板压缩包,之后导入

cat centos.tar.gz |docker import - centos:latest

7.3 基于Dockerfile 创建

8. docker的导入和导出 

8.1 导出镜像

[root@kubernetes /etc/docker]# docker images 
REPOSITORY                   TAG                 IMAGE ID            CREATED             SIZE
yunwei                       latest              ba1fe2957df1        6 seconds ago       237MB
test                         latest              84130a579e4b        3 minutes ago       237MB
mysql                        latest              9b51d9275906        2 weeks ago         547MB
centos                       latest              470671670cac        2 months ago        237MB
w564791/pod-infrastructure   latest              f66f4bd9b894        2 years ago         206MB
kubeguide/tomcat-app         v1                  a29e200a18e9        3 years ago         358MB

[root@kubernetes /etc/docker]# docker save -o yunwei.tar.gz yunwei

8.2 导入镜像

[root@kubernetes /docker]# docker load -i yunwei.tar.gz

或者

[root@kubernetes /docker]# docker load < yunwei.tar.gz 

9、上传镜像

  用户user上传本地的test:latest镜像,可以先添加新的标签user/test:latest 然后用docker [image] push 命令上传镜像

docker tag test:latest user/test:latest
docker push user/test:latest

小结:

介绍docker 操作命令,包括获取,查看,搜索,删除,创建

今天的文章docker镜像使用的作业截图_docker 打包镜像「建议收藏」分享到此就结束了,感谢您的阅读。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:http://bianchenghao.cn/79168.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注