[置顶] docker1.12--docker命令行帮助文档

镜像操作

build

    使用dockerfile方式创建镜像

使用dockerfile文件docker build dockerflle/,dockerfile文件默认位于dockerflle/Dockerfile

 可以在这里设置cgroup

commit

通过容器创建本地镜像。注意:如果要push到docker hub中,注意生成镜像的命名。

docker commit 容器id 镜像名

docker commit 536f0efeeef3 centostttt

export

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

有两种方式:

docker export -o mysqldb1.tarmysqldb

docker export mysqldb >mysqldb.tar

history

显示镜像制作的过程,相当于dockfile

docker history centostttt

IMAGE               CREATED             CREATED BY                                      SIZE                COMMENT

f2bb8fe139f0        46 minutes ago      /bin/bash                                       1.671MB           

8da04c5a9351        56 minutes ago      /bin/sh -c #(nop)  ENV PWD=/root/               0 B                

77d730816eed        56 minutes ago      /bin/sh -c #(nop)  ENV PATH=/usr/local/sbin:/   0 B                

3bee3060bfc8        13 days ago         /bin/sh -c #(nop)  CMD ["/bin/bash"]            0 B                

<missing>           13 days ago         /bin/sh -c #(nop)  LABEL name=CentOS Base Ima   0 B                

<missing>           13 days ago         /bin/sh -c #(nop) ADDfile:d22a9c627d1d1f32a8   192.5 MB  

images

列出本机的所有镜像

import

根据tar文件的内容新建一个镜像,与之前的export命令相对应

    docker import mysqldb.tar mysql:v1

eb81de183cd94fd6f0231de4ff29969db822afd3a25841d2dc9cf3562d135a10

load

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

pull

从docker hub中下载镜像

push

将本地的镜像上传到docker hub中

前提是要先用docker login登录上,不然会报错误

rmi

删除镜像

save

将镜像打包,与上面的load命令相对应

docker save -o nginx.tar nginx

search

从Docker Hub中搜索镜像

tag

对镜像进行重命名

容器生命周期

attach

    将终端依附到容器上

docker attachb7a7c4bef5a5

create

    创建一个容器。注意,此时,容器的status只是Created

    可以在这里设置cgroup【CPU、内存、IO等等】、Capability、namespace、volume等等

docker create -c 2(最少2) --cpuset-cpus 0,2 -m 32m --memory-swap 0-w /root/(更换目录) --blkio-weight 10 --dns 114.114.114.114--name nginx8(容器名称) -p 宿主机端口:容器端口 -v 宿主机目录:容器目录--cpu-period 1000 --expose 22 --shm-size 32m -ti centos6:nginx

exec

用于容器启动后,执行其它的任务。

通过exec命令可以创建两种任务:后台型任务和交互型任务

后台型任务:

docker exec -d cc touch 123  其中cc是容器名

交互型任务:

docker exec -i -t cc /bin/bash

ls

123 bin  boot  dev etc  home  lib lib64  media  mnt opt  proc  root run  sbin  srv sys  tmp  usr var

inspect

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

docker inspect 容器ID或者容器ID列表

返回一个列表(包含字典)

kill

强制终止容器。

参数-s或--signal string:Signal to send to thecontainer (default "KILL")

logs

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

pause

暂停容器内的所有进程,此时,通过dockerstats可以观察到此时的资源使用情况是固定不变的,通过docker logs -f也观察不到日志的进一步输出。

port

查看容器端口与宿主机端口的映射情况

docker port blog

80/tcp -> 0.0.0.0:80

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

ps

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

rename

更改容器的名字

restart

重启容器

rm

删除容器,注意,删除一个运行中的容器,必须加-f参数

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

run

让创建的容器立刻进入运行状态,该命令等同于docker create创建容器后再使用docker start启动容器

    可以在这里设置cgroup【CPU、内存、IO等等】、Capability、namespace、volume等等

start

启动容器

stats

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

stop

停止一个运行的容器

top

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

unpause

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

wait

捕捉容器停止时的退出码

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

update

Updateconfiguration of one or more containers

升级一个或者多个容器配置,主要是cgroup

容器文件系统

cp

    在容器和本地文件系统上拷贝文件【夹】

docker cp [OPTIONS]CONTAINER:SRC_PATH DEST_PATH|-

    dockercp [OPTIONS] SRC_PATH|- CONTAINER:DEST_PATH

docker cp tta49d7ca21839:/root/

docker cpa49d7ca21839:/root/test/ ./

diff

    对比容器的文件变化情况

    dockerdiff a49d7ca21839

volume

Manage Dockervolumes

其他

events

    实时或者指定时间戳输出Docker服务器端的事件,包括容器的创建,启动,关闭等。

info

查看docker的系统信息

login

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

docker login

             Username: ivictor

             Password:

             Email: xxxx@foxmail.com

             WARNING: login credentials saved in /root/.docker/config.json

             Login Succeeded

logout

退出登录

    docker logout

Remove logincredentials for https://index.docker.io/v1/

version

查看docker的版本

network

Manage Dockernetworks

docker网络管理

node

Manage DockerSwarm nodes

service

Manage Docker services

swarm

Manage DockerSwarm

区别

stop和kill、wait

docker stop命令给容器中的进程发送SIGTERM信号,默认行为是会导致容器退出,当然,容器内程序可以捕获该信号并自行处理,例如可以选择忽略。

docker kill则是给容器的进程发送SIGKILL信号,该信号将会使容器必然退出

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

run和create、start

    create只是创建容器,没有启动。可以配置cgroup

    start是启动容器

    run是创建并启动容器,run=create+start。可以配置cgroup

exec和attach

    exec

在启动的容器上执行命令,可以分为后台和交互式。

交互式执行类似attach,但退出之后不会结束容器。

    attach

在容器上附属一个终端,退出之后可能会结束容器(容器启动命令为/etc/bash)

原文地址:https://www.cnblogs.com/lykops/p/7348006.html