当前位置:文档之家› docker命令详解

docker命令详解

docker命令详解
docker命令详解

docker [OPTIONS] command

Usage: docker [OPTIONS] COMMAND [arg...]

docker daemon [ --help | ... ]

docker [ -h | --help | -v | --version ]

A self-sufficient runtime for containers.

Options:

--config=~/.docker Location of client config files

-D, --debug=false Enable debug mode

-H, --host=[] Daemon socket(s) to connect to -h, --help=false Print usage

-l, --log-level=info Set the logging level

--tls=false Use TLS; implied by --tlsverify --tlscacert=~/.docker/ca.pem Trust certs signed only by this CA --tlscert=~/.docker/cert.pem Path to TLS certificate file

--tlskey=~/.docker/key.pem Path to TLS key file

--tlsverify=false Use TLS and verify the remote

-v, --version=false Print version information and quit attach

Attach to a running container

将终端依附到容器上

为后端运行的交互式的容器启用一个终端与之交互。

1.后台有一个可以交互的容器.

2.启动该容器.

3.通过attach启动终端与之交互

build

通过Dockerfile创建镜像。具体见以后的使用中。commit

通过容器创建本地镜像.

可自定义tag,如docker commit dc806ee0bf86 web:v1

不指定tag的情况下默认tag为latest

root@ubuntu:~# docker commit dc806ee0bf86 test

1e488386876e14ef3e930a98ec0bb49de1890963e2e979069f9f4d87f89f4959

cp

容器和宿主机之间相互copy文件

1.将容器:/data/a.txt复制到本地当前目录

# docker cp 87cb69be18bb:/data/a.txt ./

2.将本地文件复制到容器:/data/backup目录下

#docker cp helpdocker.tgz 87cb69be18bb:/data/backup/

3.将本地目录复制到容器:/data/backup目录下

#docker cp data 87cb69be18bb:/data/backup

create

创建但不启动一个容器.具体参数同docker run.

diff

查看容器内发生变化的文件。

# docker diff 87cb69be18bb

events

实时输出docker服务器端的事件,包括容器的创建、启动、关闭等。# docker events

exec

通过宿主机在正在运行的容器上执行命令。通过宿主机在容器上创建文件

# docker exec 87cb69be18bb touch /root/abc.txt 可通过exec命令申请一个终端,执行shell

# docker exec -it 87cb69be18bb /bin/bash

export

将容器的文件系统打包成tar文件

两种方式:

# docker export 87cb69be18bb > web.tar

# docker export -o web.tar 87cb69be18bb history

显示一个镜像的历史

images

显示所有的镜像.

import

根据export出的tar文件创建一个镜像. # docker import web.tar web

info

# docker info

inspect

用于查看容器的配置信息,包含容器名、环境变量、运行命令、主机配置、网络配置和数据卷配置等。

# docker inspect 87cb69be18bb

kill

强制终止容器

关于stop和kill的区别,docker stop命令给容器中的进程发送SIGTERM信号,默认行为是会导致容器退出,当然,容器内程序可以捕获该信号并自行处理,例如可以选择忽略。而dockerkill则是给容器的进程发送SIGKILL信号,该信号将会使容器必然退出。

load

与下面的save命令相对应,将下面sava命令打包的镜像通过load命令导入。

login

登录到自己的Docker register,需有Docker Hub的注册账号.

logout

从Docker register退出登录。

logs

用于查看容器的日志,它将输入(出)到容器标准输入(出)的数据,作为日志输出到docker logs命令的终端上。常用于后台型容器。

87cb69be18bb是一个数据流为输入、输出和错误和容器,如下命令则会打印该容器的所有交互日志。

# docker logs 87cb69be18bb

network

创建网络

自定义网络,可指定网段、网关等参数。

创建一个my_network的网络,--ip-range:指定子网段,--subnet:指定一个网段

# docker network create -d bridge --ip-range=192.168.1.0/24 --subnet=192.168.1.0/24 my_network

查看网络

# docker network inspect my_network

列出网络

# docker network ls

bridge为默认的网络,172.17.0.0/16网段my_network 为自定义的网格

删除网络

# docker network rm my_network1

连接网络

将指定的网络连接到容器。

1.创建一个容器,不指定网络,默认会用bridge网络。#docker run -it --name=web ubuntu:14.04 /bin/bash

会看到默认有eth0:172.17.0.0/16段

2.将该容器连接到my_network网络

连接到的容器必须是running状态。

# docker network connect my_network web

3.查看容器网络状态

会看到多出一个eth1:192.168.1.0/24网段

断开网络

将容器与一个网络断开

# docker network disconnect my_network web

断开后该容器不在拥有该网络的地址。

pause

暂停容器内的所有进程。

此时,通过docker stats可以观察到此时的资源使用情况是固定不变的,通过docker logs -f也观察不到日志的进一步输出。

# docker pause 87cb69be18bb

容器的状态变为:Up About an hour (Paused)

docker unpause 重新启动一个容器。

port

输出容器端口与宿主机端口的映射情况

# docker port blog

80/tcp -> 0.0.0.0:80

容器blog的内部端口80映射到宿主机的80端口,这样可通过宿主机的80端口查看容器blog提供的服务

ps

列出所有容器,其中docker ps用于查看正在运行的容器,ps -a则用于查看所有容器。

pull

从registry中拉取镜像。

push

本地的镜像上传到registry中

rename

更改容器的名字。

将容器tender_lichterman更名为web1.

# docker rename tender_lichterman web1

restart

重启一个容器。

rm

删除容器。不可以删除一个运行中的容器,必须先用docker stop或docker kill使其停止。当然可以强制删除,必须加-f参数。

如果要一次性删除所有容器,可使用docker rm -f `docker ps -a -q`,其中,-q指的是只列出容器的ID。

rmi

删除一个或多个镜像。

save

将镜像打包,与上面的load命令相对应. 两种方式:

# docker save webserver >webserver.tar

# docker save -o webserver.tar webserver:v1 search

查找镜像。

start

启动一个或多个停止的镜像。

启动一个镜像并启动一个交互试的终端。# docker start -ia 87cb69be18bb

root@87cb69be18bb:/# ls

stats

动态显示容器的资源消耗情况,包括:CPU、内存、网络I/O. stop

停止一个正在运行的容器。

tag

对repository中的镜像进行重命名。

top

查看容器中正在运行的进程。

unpause

恢复容器内暂停的进程,与pause参数相对应。

version

查看docker版本信息

volume

管理docker数据卷.

创建数据卷

1.创建一个名为data_v的数据卷

# docker volume create --name='data_v'

2.创建完数据卷后,其他容器即可挂载该容器。可用于数据共享。

3.创建一个容器,把名为data_v的数据卷挂载到容器的/data目录

# docker run -it -v data_v:/data ubuntu:14.04 /bin/bash

查看数据卷

查看刚刚创建的数据卷

# docker volume inspect data_v

列出数据卷

# docker volume ls

删除数据卷

# docker volume rm data_v

wait

捉容器停止时的退出码。

执行此命令后,该命令会“hang”在当前终端,直到容器停止,此时,会打印出容器的退出码。

AIX的vmstat命令详解

AIX的vmstat命令详解(原创) vmstat概述 vmstat 命令报告关于内核线程、虚拟内存、磁盘、陷阱和CPU 活动的统计信息。由vmstat 命令生成的报告可以用于平衡系统负载活动。系统范围内的这些统计信息(所有的处理器中)都计算出以百分比表示的平均值,或者计算其总和。 Interval 参数指定每个报告之间的时间量(以秒计)。第一个报告包含系统启动后时间的统计信息。后续报告包含自从前一个报告起的时间间隔过程中所收集的统计信息。如果没有指定Interval 参数,vmstat 命令生成单个报告然后退出。Count 参数只能和Interval 参数一起指定。如果指定了Count 参数,其值决定生成的报告数目和相互间隔的秒数。如果Interval 参数被指定而没有Count 参数,则连续生成报告。Count 参数不允许为0。 内核为内核线程、调页和中断活动维护统计信息,vmstat 命令通过使用perfstat 内核扩展来对其进行访问。磁盘输入/输出统计信息由设备驱动程序维护。对于磁盘,利用活动时间和传送信息数量来确定平均传送速率。活动时间的百分数根据报告期间驱动器忙的时间量来计算。 vmstat命令输出详解 输出样例 #vmstat 1 2 System configuration: lcpu=8 mem=15360MB kthr memory page faults cpu ----- ---------------------------- ---------------------- ------------ ---------------------------------------- r b avm fre re pi po fr sr cy in sy cs us sy id wa 1 0 1614482 971363 0 0 0 0 0 0 56 4997 2739 1 1 97 0 0 0 1614484 971361 0 0 0 0 0 0 23 4435 2677 1 1 97 0 Kthr kernel thread state(内核线程状态,表示每秒钟在采样间隔时间上对各种队列的内核线程数求得的平均值) r: 取样期间可运行的内核线程的平均数,包括正在运行的线程和指准备运行但尚在等待运行的进程。

iostat命令解释

iostat iostat用于输出CPU和磁盘I/O相关的统计信息. 命令格式: iostat [ -c | -d ] [ -k | -m ] [ -t ] [ -V ] [ -x ] [ device [ ... ] | ALL ] [ -p [ device | ALL ] ] [ interval [ count ] ] 1)iostat的简单使用 iostat可以显示CPU和I/O系统的负载情况及分区状态信息. 直接执行iostat可以显示下面内容: # iostat # iostat –xm 带XM参数显示扩展信息并将磁盘数据有每扇区改为每兆显示(1扇区等于512字节) 各个输出项目的含义如下: avg-cpu段: %user: 在用户级别运行所使用的CPU的百分比. %nice: nice操作所使用的CPU的百分比. %sys: 在系统级别(kernel)运行所使用CPU的百分比. %iowait: CPU等待硬件I/O时,所占用CPU百分比.

%idle: CPU空闲时间的百分比. Device段: tps: 每秒钟发送到的I/O请求数. Blk_read /s: 每秒读取的block数. Blk_wrtn/s: 每秒写入的block数. Blk_read: 读入的block总数. Blk_wrtn: 写入的block总数. 2)iostat参数说明 iostat各个参数说明: -c 仅显示CPU统计信息.与-d选项互斥. -d 仅显示磁盘统计信息.与-c选项互斥. -k 以K为单位显示每秒的磁盘请求数,默认单位块. -p device | ALL 与-x选项互斥,用于显示块设备及系统分区的统计信息.也可以在-p后指定一个设备名,如: # iostat -p hda 或显示所有设备 # iostat -p ALL -t 在输出数据时,打印搜集数据的时间. -V 打印版本号和帮助信息. -x 输出扩展信息. 3)iostat输出项目说明 Blk_read 读入块的当总数. Blk_wrtn 写入块的总数. kB_read/s 每秒从驱动器读入的数据量,单位为K. kB_wrtn/s 每秒向驱动器写入的数据量,单位为K. kB_read 读入的数据总量,单位为K. kB_wrtn 写入的数据总量,单位为K.

IBM-AIX命令详解

AIX常用命令 AIX系统的设备有四种状态: Undefined(未定义):表示系统无法识别该设备,也就是系统找不到该设备。Defined(定义):表示系统可以识别设备,但是系统不能使用它。Available(可用):表示该设备在系统中可以使用,用户也可以使用。Stopped(停用):表示设备不能被使用,但操作系统通过驱动程序可以识别它。------------------------------------------------------------------------------- 一、查看错误记录 1、显示错误:errpt 2、显示详细的错误信息:errpt -a 或errpt -a|more 3、清空错误记录信息:errclear 0 二、查看文件系统 df -g 【以G为单位检查】或df -k 【以K为单位检查】 三、查看系统中的设备及其特征 lsdev -C显示的设备都已经安装在系统中。 lsdev -P显示系统预定义设备数据库中的所有设备,即系统能支持的设备。【举例】 1、查看硬盘: lsdev –Cc disk 2、看磁带机: lsdev –Cc tape 3、查看适配卡: lsdev –Cc adapter 4、处理器个数:lsdev –C|grep proc 【grep:强大的文本搜索工具,并把匹配的行打印出来(类似于find)】

5、查看预定义设备对象类中的所有设备,并具有列头:lsdev -P -H 6、要列出预定义设备对象类中的受支持的设备类,输入:lsdev -P -r class 7、要列出其名称以字母‘hdi’开头的所有设备:lsdev -l hdi* 8、要列出所有子pci0 总线,请输入:lsdev -p pci0 9、要列出其名称包含在文件/tmp/f 中的设备,输入:cat /tmp/f | lsdev -l - 四、显示系统的配置信息、诊断信息和重要产品数据(VPD)信息 lscfg -vp获取所有已配置硬件设备的详细信息 【举例】 1、查看硬盘信息: lscfg –vl hdiskx x表示数字 2、查看网卡信息: lscfg –vl entx x表示数字 3、查看磁带机: lscfg –vl rmtx x表示数字 4、要在每一行显示带有设备描述的系统配置:lscfg -s 5、要显示由逻辑名ent0 指定的特定设备的VPD:lscfg -v -l ent0 6、要显示不带有VPD 的逻辑名hdisk(或proc)所指定设备的名称、位置和描述:lscfg -l hdisk(或proc)\* 7、要将开放固件设备树中相应节点的VPD 显示到ent0 设备中: lscfg -vp -l ent0 五、查看硬件属性 lsattr:用于读取指定设备的配置属性,部分属性可更改 lsattr –El获取已配置设备的属性信息。 【举例】 查看硬盘属性: lsattr –El hdiskx x表示数字

iostat命令详解

iostat命令详解 2009-11-02 20:41 iostat [ -c | -d ] [ -k ] [ -t ] [ -V ] [ -x [ device ] ] [ interval [ count ] ]基本语法: iostat interval count option - 让你指定所需信息的设备,像磁盘、cpu或者终端(-d , -c , -t or -tdc ) 。x 选项给出了完整的统计结果。iostat的默认参数是tdc(terminal, disk, and CPU)。如果任何其他的选项被指定,这个默认参数将被完全替代。 interval –统计运行的间隔时间(秒), count –统计运行的次数 其中,-c为汇报CPU的使用情况;-d为汇报磁盘的使用情况;-k表示每秒按kilobytes 字节显示数据;-t为打印汇报的时间;-v表示打印出版本信息和用法;-x device指定要统计的设备名称,默认为所有的设备; iostat -d -k -t 2 Device: 显示磁盘名称 tps: 表示每秒钟输出到物理磁盘的传输次数。一次传输就是一个对物理磁盘的 I/O 请求。多个逻辑请求可被并为对磁盘的一个单一 I/O 请求。传输具有中等的大小。 kB_read/s: 每秒从磁盘读取的数据量,单位为KB。 kB_wrtn/s: 每秒从写入磁盘的数据量,单位为KB。 Kb_read: 读取的 KB 总数。 Kb_wrtn: 写入的 KB 总数 iostat -x 1 10 rrqm/s:每秒进行 merge 的读操作数目。即 delta(rmerge)/s wrqm/s:每秒进行 merge 的写操作数目。即 delta(wmerge)/s r/s:每秒完成的读 I/O 设备次数。即 delta(rio)/s w/s:每秒完成的写 I/O 设备次数。即 delta(wio)/s rsec/s:每秒读扇区数。即 delta(rsect)/s wsec/s: 每秒写扇区数。即 delta(wsect)/s rkB/s: 每秒读K字节数。是 rsect/s 的一半,因为每扇区大小为512字节。(需要计算) wkB/s:每秒写K字节数。是 wsect/s 的一半。(需要计算) avgrq-sz:平均每次设备I/O操作的数据大小 (扇区)。 delta(rsect+wsect)/delta(rio+wio) avgqu-sz:平均I/O队列长度。即 delta(aveq)/s/1000 (因为aveq的单位为毫秒)。await:平均每次设备I/O操作的等待时间 (毫秒)。即 delta(ruse+wuse)/delta(rio+wio) svctm: 平均每次设备I/O操作的服务时间 (毫秒)。即 delta(use)/delta(rio+wio) %util: 一秒中有百分之多少的时间用于 I/O 操作,或者说一秒中有多少时间 I/O 队列是非空的。即 delta(use)/s/1000 (因为use的单位为毫秒) svctm 一般要小于 await (因为同时等待的请求的等待时间被重复计算了),svctm 的大小一般和磁盘性能有关,CPU/内存的负荷也会对其有影响,请求过多也会间接导致 svctm 的增加。await 的大小一般取决于服务时间(svctm) 以及 I/O 队列的长度和 I/O 请求的发出

AIX的iostat命令解析

AIX的iostat命令解析(翻译红皮书) 网友:seagull.li 发布于:2007.12.10 11:50(共有条评论) 查看评论 | 我要评论 1.确定磁盘使用率 $ iostat -T 2 10 System configuration: lcpu=8 drives=29 paths=52 vdisks=0 tty: tin tout avg-cpu: % user % sys % idle % iowait time 0.0 377.0 77.6 6.1 16.2 0.1 11:35:45 Disks: % tm_act Kbps tps Kb_read Kb_wrtn time hdisk5 78.0 6080.0 439.0 12048 112 11:35:45 hdisk4 79.5 11856.5 453.5 23564 149 11:35:45 hdisk6 19.0 1664.0 13.0 3328 0 11:35:45 $ % tm_act 物理磁盘活动的时间百分比 KBPS 某块磁盘传输数据的总量(读或写) tps 某块物理磁盘每秒钟IO 传输的数量 Kb_read 从磁盘上读取数据的总量 Kb_wrtn 写入磁盘的数据总量 如果%tm_act字段显示磁盘非常忙,并且Kbps 字段显示持续的大量数据传输,应考虑散布数据跨越多个磁盘。该命令支持动态的配置改变。如果发现到配置改变,iostat报告发出一个警告,并刷新最新的系统配置。其中% tm_act是指活动时间,kbps是在统计时间内所有Kb_read与Kb_wrtn之和除以时间的值,即每秒传输的字节数如果% tm_act常过70%却只有很低的Kbps,系统可能是有比较多的LV碎片或文件碎片,当都高时则系统正常。tps表示每秒的IO数,不同的磁盘系统其可承受的IO数不同。如果一块磁盘的活动率超过70%,可以通过转移一部分的磁盘活动压力到另一个磁盘上,或者通过多个磁盘驱动器来扩展I/O压力来获得更高的性能。 $ iostat -D hdisk0 (查看某一磁盘的情况) System configuration: lcpu=8 drives=29 paths=52 vdisks=0 hdisk0 xfer: %tm_act bps tps bread bwrtn 4.6 58.3K 8.8 16.5K 41.9K read: rps avgserv minserv maxserv timeouts fails 3.5 5.8 0.3 67.8 0 0 write: wps avgserv minserv maxserv timeouts fails 5.3 11.2 0.6 114.9 0 0 queue: avgtime mintime maxtime avgwqsz avgsqsz sqfull 136.8 0.0 388.4 0.2 0.0 3.8 --------------------------------------------------------------------------------

Linux命令及TroubleShooting技术总结

一、Linux操作系统安装 二、Linux基本命令 1、修改操作系统的Shell (修改bash,可以tab命令补全,上下翻输入过的命令) #echo $SHELL /usr/bin/sh #vi /etc/passwd root:!:0:0::/home0:/usr/bin/bash

2、查看AIX操作系统位数的方法: #bootinfo -y #bootinfo –K 2、查看操作系统版本 #oslevel –r 3、查看小型机硬件型号 #prtconf |more #lscfg -vp | grep -p alterable (查看硬件卡)4、查看CPU参数 #prtconf #lsdev –Cc processor #vmstat 5、查看内存参数 #prtconf #vmstat 6、查看硬盘参数

#lsdev -Cc disk #prtconf System Model: IBM,9110-51A (机器型号) Machine Serial Number: 0697AC0 (机器序列号) Processor Type: PowerPC_POWER5 (Power Cpu 类型) Number Of Processors: 2 (Cpu 个数) Processor Clock Speed: 2097 MHz CPU Type: 64-bit Kernel Type: 64-bit (Cpu 位数) LPAR Info: 1 06-97AC0 Memory Size: 1904 MB (内存总数) Good Memory Size: 1904 MB Platform Firmware level: Not Available Firmware Version: IBM,SF240_332 Console Login: enable Auto Restart: true Full Core: false Network Information Host Name: aix IP Address: 192.168.1.18 (网卡IP地址) Sub Netmask: 255.255.255.0 Gateway: 192.168.1.1 Name Server: 211.100.30.29 Domain Name: Paging Space Information Total Paging Space: 512MB Percent Used: 42% + hdisk1 U788C.001.AAA8364-P1-T11-L5-L0 16 Bit LVD SCSI Disk Drive (73400 MB) (硬盘信息)+ hdisk0 U788C.001.AAA8364-P1-T11-L8-L0 16 Bit LVD SCSI Disk Drive (73400 MB) (硬盘信息)

freebsd命令汇总

freebsd命令汇总 查询命令 find / -name adc.rar abc.rar为你要查询的文件名 ---------------------------- find / \! -name “*.c” -print 列出所有不是以.c结尾的文件Print out a list of all the files whose names do not end in .c. find / -newer ttt -user wnj -print 列出所有比文件ttt新并且owner是wnj的文件 find / \! \( -newer ttt -user wnj \) -print 列出所有比文件ttt旧并且owner不是是wnj的文件 find / \( -newer ttt -or -user wnj \) -print 列出所有比文件ttt新或者owner是wnj的文件 find / -newerct …1 minute ago? -print 列出所有一分钟之前改变的文件 find / -type f -exec rm {} \; 删除所有文件,除非你疯了 find -L /usr/bin/ -type l -delete 删除/usr/bin目录下所有连接错误的连接符号

find / -name “[a-z].*” 还有几个参数会经常用到 -amin n 表示最后n分钟访问的文件 -atime n 表示最后n小时访问的文件 -cmin n 表示最后n分钟改变状态的文件 -ctime n 表示最后n小时改变状态的文件 -mmin n 表示最后n分钟里修改过的文件 -mtime n 表示最后24*n小时里修改过的文件 -empty 表示空白的文件,或空白的文件目录,或目录中没有子目录的文件夹 -nouser 属于作废用户的文件 -size +nc 长度大于n字节的文件 几个参数之间可以用-and,-or连接,某个参数取反可用!,可以用括号分隔条件 -exec command; 并执行命令 chown 命令 功能:更改某个文件或目录的属主和属组。这个命令也很常用。例如root用户把自己的一个文件拷贝给用户xu,为了让用户xu能够存取这个文件,root用户应该把这个文件的属主设为xu,否则,用户xu无法存取这个文件。 语法:chown [选项] 用户或组文件 说明:chown将指定文件的拥有者改为指定的用户或组。用户可以是用户名或用户ID。组可以是组名或组ID。文件是以空格分开的要改变权限的文件列表,支持通配符。 ------------------ 例子: chown -R deserts:apache phpMyAdmin-2.8.1-rc1

相关主题
文本预览
相关文档 最新文档