博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Docker学习(四):Docker高级命令
阅读量:2095 次
发布时间:2019-04-29

本文共 2364 字,大约阅读时间需要 7 分钟。

一、使用history查看镜像历史

docker history <image_name>:<tag>

IMAGE:镜像名称

CREATED:创建时间

CREATED BY:运行的命令 

SIZE:镜像大小

COMMENT:message内容

二、使用cp命令复制文件

1、docker cp <container_name>:<需要复制的容器文件路径> <复制到本地主机的文件路径>

将docker容器当中的文件复制到本地(容器必须是运行状态)

上面是将docker容器中/etc/passwd文件复制到本地 

2、docker cp <本地文件路径> <container_name>:<复制到容器文件路径>

将本地文件复制到docker容器中(容器必须是运行状态

进入docker容器当中可以看到文件已经复制到相对路径中 

三、使用commit命令提交容器修改

docker commit <options><container_name><image_name>:<tag>

options选项:

参数 介绍
-a,--author="" 作者信息
-c,--change=[] 提交的时候执行Dockerfile指令,包括CMD|ENTRYPOINT|ENV|LABEL|ONBUILD|USER|VOLUME|WORKDIR等
-m,--message="" 提交信息
-p,--pause=true 提交时暂停容器运行

上面已经将本地文件复制到了docker容器当中,下面需要进行commit提交

此时查看image镜像,可以看到新增了一个镜像

查看镜像历史,可以看到历史记录新增了一条镜像操作记录

 这样我们就可以利用一个基础镜像然后在镜像当中部署自己需要的环境最后进行提交生成一个镜像文件,通过镜像文件进行批量部署(下面可以看到直接通过新镜像创建的容器就包含复制的文件在里面了)

四、使用diff命令检查容器文件的变动

docker diff <container_name>

通过命令可以看到容器当中文件的变动情况

A:表示添加的文件

C:表示修改的文件

D:表示删除的文件 

 五、使用inspect查看容器、镜像详细信息

1、查看容器的详细信息:docker inspect <container_name>

2、查看镜像的详细信息:docker inspect <image_name> : <tag>

注意:当我们只要其中一项内容时,可以使用参数-f来指定,过滤节点根据json的结构来获取

docker inspect -f {

{过滤节点}} <container_name>/<image_name>

{        "Id": "baca876922cfee26cf507744d1a83a53c90575759ed7375c7a4ddf657e430c19",        "Created": "2020-02-09T12:50:11.159979496Z",        "Path": "container-entrypoint",        "Args": [            "/bin/bash"        ],        "State": {            "Status": "exited",            "Running": false,            "Paused": false,            "Restarting": false,            "OOMKilled": false,            "Dead": false,            "Pid": 0,            "ExitCode": 255,            "Error": "",            "StartedAt": "2020-02-11T03:47:01.678568756Z",            "FinishedAt": "2020-02-12T01:00:13.100713047Z"        }}

第一、获取单层节点信息,获取Id信息,则使用docker inspect -f '{

{.Id}}' <container_name>/<image_name>

第二、获取多层节点信息,获取Status信息,则使用docker inspect -f '{

{.State.Status}}' <container_name>/<image_name>

六、基于本地模板导入

用户可以直接从一个操作系统模板文件导入一个镜像,命令如下

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

实例:

cat ubuntu-14.04-x86_64-minimal.tar.gz | docker import - ubuntu:14.04

七、存出和载入镜像

1、存出镜像(导出镜像)

如果要导出镜像到本地文件,可以使用如下命令

docker save -o <本地文件名称> <image_name:tag>

实例:

docker save -o ubuntu_14.04.tar ubuntu:14.04

2、载入镜像

可以使用命令将本地文件载入到本地镜像列表

docker load --input <本地文件名称>

docker load < <本地文件名称>

实例:

docker load --input ubuntu_14.04.tar

docker load < ubuntu_14.04.tar

转载地址:http://auchf.baihongyu.com/

你可能感兴趣的文章
高并发和多线程的关系
查看>>
Java并发与多线程
查看>>
对于多线程程序,单核cpu与多核cpu是怎么工作的
查看>>
多线程和CPU的关系
查看>>
认识cpu、核与线程
查看>>
关于Java健壮性的一些思考与实践!
查看>>
如何避免自己写的代码成为别人眼中的一坨屎!
查看>>
Postman 安装及使用入门教程
查看>>
获取指定包下所有自定义注解并提取注解信息
查看>>
Windows 环境下 Git clone pull fetch 慢 解决之道
查看>>
Redis (error) NOAUTH Authentication required.解决方法
查看>>
plsql窗口中文显示的是横版的 问题解决办法
查看>>
使用notePad修改将文件格式保存后不起作用
查看>>
如何查询oracle会话及锁 如何查锁了哪张表?如何杀掉会话
查看>>
Git常用命令速查手册
查看>>
Redis运维利器 -- RedisManager
查看>>
分布式之REDIS复习精讲
查看>>
分布式之数据库和缓存双写一致性方案解析
查看>>
Redis集群
查看>>
Oracle 查看和扩展表空间
查看>>