docker run : 创建一个新的容器并允许一个命令
语法
docker run [OPTIONS] IMAGE [COMMAND][ARG...]
OPTIONS说明:
-a stdin:指定标准输入输出内容类型,可选STDIN/STDOUT/STDERR 三项;
-d:后台运行容器,并返回容器id;
-i:已交互模式运行容器,通常与-t同时使用;
-p:端口映射,格式为:主机端口:容器端口
-t:为容器重新分配一个伪输入终端,通常与-i同时使用;
--name=“xxxx”:为容器指定一个名称;
--dns 8.8.8.8:指定容器使用的DNS服务器;默认和宿主一致;
--dns-search example.com:指定容器DNS搜索域名,默认和宿主一致;
-h "name":指定容器的hostname;
-e username=“xxxx”:设置环境变量;
--env-file=[]:从指定文件读入环境变量;
-m:设置容器使用内存最大值;
--net=“bridge”:指定 容器的网络连接类型。支持bridge/none/container四种类型;
--link=[]:添加链接到另一个容器;
--expose=[];开放一个端口或一组端口;
1.2 start/stop/restart 命令docker start:启动容器
docker stop:停止容器
docker restart:重启容器
语法
docker start/stop/restart [OPTIONS] ConTAINER [ConTAINER ...]1.3 kill 命令
docker kill:杀掉一个运行中的容器
语法
docker kill [OPTIONS] ConTAINER [ConTAINER ...]
OPTIONS说明:
-s:向容器发送一个信号
1.4 rm 命令docker rm:删除容器
语法
docker rm [OPTIONS] ConTAINER [ConTAINER ...]
OPTIONS说明:
-f:通过SIGKILL信号强制删除一个运行中的容器
-l:移除容器间的网络连接,而非容器本身
-v:删除与容器关联的卷
实例
强制删除容器
docker rm -f db01 db02
移除容器nginx对容器db01的连接,连接名db
docker rm -l db
删除容器nginx,并删除容器挂载的数据卷
docker rm -v nginx1.5 pause/unpause 命令
docker pause:暂停容器中所有的进程。
docker unpause:恢复容器中所有的进程。
语法
docker pause/unpause [OPTIONS] ConTAINER [ConTAINER ...]1.6 create 命令
docker create:创建一个新的容器但不启动
用法同docker run
语法
docker create [OPTIONS] IMAGE [COMMAND][ARG...]1.7 exec 命令
docker exec:在运行的容器中执行命令
语法
docker exec [OPTIONS] ConTAINER [COMMAND][ARG...]
OPTIONS说明:
-d:分离模式,在后台运行
-i:即使没有附加STDIN打开
-t:分配一个伪终端
实例
在容器mynginx中以交互模式执行容器内/root/runoob.sh脚本
docker exec -it mynginx /bin/sh /root/runoob.sh http://www.runoob.com/
在容器mynginx中开启一个交互模式的终端
docker exec -it mynginx /bin/bash root@dfdsdcd:/#二、容器操作 2.1 ps 命令
docker ps:列出容器
语法
docker ps [OPTIONS]
OPTIONS说明:
-a:显示所有的容器,包括未运行的。
-f:根据条件过滤显示的内容。
--format:指定返回值的模板文件。
-l:显示最近创建的容器。
-n:列出最近创建的n个容器。
--no-trunc:不截断输出。
-q:静默模式,只显示容器编号。
-s:显示总的文件大小。
2.2 inspect 命令docker inspect:获取容器/镜像的元数据
语法
docker inspect [OPTIONS] NAME|ID [NAME|ID...]
OPTIONS说明:
-f:指定返回值的模板文件。
-s:显示总的文件大小。
--type:为指定类型返回JSON。
2.3 top 命令docker top:查看容器中运行的进程信息,支持ps命令参数
语法
docker top [OPTIONS] ConTAINER [ps OPTIONS]
容器运行时不一定有/bin/bash终端来交互执行top命令,而且容器还不一定有top命令,可以使用docker top来实现查看container中正在运行的进程。
实例
查看容器mymysql的进程信息。
docker top mymysql UID PID PPID C STIME TTY TIME CMD root 24342 24320 0 Feb15 ? 00:03:27 /nfs-subdir-external-provisioner
查看所有运行容器的进程信息
for i in ·docker ps |grep Up|awk '{print $1}'·;do echo &&docker top $i;done
2.4 attach 命令
docker attach:连接到正在运行中的容器。
语法
docker attach [OPTIONS] CONTAINER2.5 events 命令
docker events:从服务器获取实时事件
语法
docker events [OPTIONS]
OPTIONS说明:
-f:根据条件过滤事件;
--since:从指定的时间戳后显示所有事件;
--until:流水时间显示到指定的时间为止;
2.6 logs 命令docker logs:获取容器的日志
语法
docker logs [OPTIONS] CONTAINER
OPTIONS说明:
-f:跟踪日志输出
--since:显示某个开始时间的所有日志
-t:显示时间戳
--tail:仅列出最新N条容器日志
实例
跟踪查看容器的日志输出
docker logs -f 8c350d1731fc I0215 13:00:45.732655 1 leaderelection.go:242] attempting to acquire leader lease kube-system/nfs-pgsc004... I0215 13:01:03.329957 1 leaderelection.go:252] successfully acquired lease kube-system/nfs-pgsc0042.7 wait 命令
docker wait:阻塞运行直到容器停止,然后打印出它的退出代码。
语法
docker wait [OPTIONS] ConTAINER [ConTAINER ...]2.8 export 命令
docker export:将容器作为一个tar包导出
语法
docker export [OPTIONS] CONTAINER
OPTIONS说明:
-o:tar包名
2.9 port 命令docker port:列出指定的容器的端口映射
语法
docker port [OPTIONS] ConTAINER [PRIVATE_PORT[/PROTO]]三、容器rootfs命令 3.1 commit 命令
docker commit:从容器创建一个新的镜像。
语法
docker commit [OPTIONS] ConTAINER [REPOSITORY[:TAG]]
OPTIONS说明:
-a:提交的镜像作者;
-c:使用Dockerfile指令来创建镜像;
-m:提交时的说明文字;
-p:在commit时,将容器暂停。
实例
docker commit -a "xxxx" -m "xxxxx" dfdsfs3ds mysql:v13.2 cp 命令
docker cp:用于容器与主机之间的数据拷贝。
语法
docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH docker cp [OPTIONS] DEST_PATH CONTAINER:SRC_PATH
OPTIONS说明:
-L:保持原目标中的链接
实例
docker cp /www/dfdf 342dff33f:/www/ docker cp /www/dfdf 342dff33f:/www #重命名 docker cp 342dff33f:/www /tmp/四、镜像仓库 4.1 login 命令
docker login:登录到一个docker镜像仓库
docker logout:登出一个docker镜像仓库
语法
docker login [OPTIONS] [SERVER] docker logout [OPTIONS] [SERVER]
OPTIONS说明:
-u:用户名
-p:密码
4.2 pull 命令docker pull:从镜像仓库中拉取或者更新镜像
语法
docker pull [OPTIONS] NAME[:TAG]
OPTIONS说明:
-a:拉取所有tagged镜像
--disable-content-trust:忽略镜像的校验,默认开启
4.3 push 命令docker push:将本地的镜像上传到镜像仓库,先要登录到镜像仓库
语法
docker push [OPTIONS] NAME[:TAG]
OPTIONS说明:
--disable-content-trust:忽略镜像的校验,默认开启
-a:推送所有tagged镜像
4.4 search 命令docker search:从Docker Hub查找镜像
语法
docker search [OPTIONS] TERM
OPTIONS说明:
-f:设置过滤条件;
--no-trunc:显示完整的镜像描述;
--limit:列出指定数量的镜像;
实例
docker search nginx -f "is-official=true" #用于只搜索官方镜像五、本地镜像管理 5.1 images 命令
docker images:列出本地镜像
语法
docker images [OPTIONS] [REPOSITORY[:TAG]]
OPTIONS说明:
-a:列出本地所有的镜像;
--digests:显示镜像的摘要信息;
-f:显示满足条件的镜像;
--format:指定返回值的模板文件;
--no-trunc:显示完整的镜像信息;
-q:只显示镜像ID;
5.2 rmi 命令docker rmi:删除本地一个或多个镜像。
语法
docker rmi [OPTIONS] IMAGE [IMAGE...]
OPTIONS说明:
-f:强制删除;
--no-prune:不移除该镜像的过程镜像,默认移除;
5.3 tag 命令docker tag:标记本地镜像
语法
docker tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG]5.4 build 命令
docker build:用于使用Dockerfile创建镜像
语法
docker build [OPTIONS] PATH | URL | -
OPTIONS说明:
--build-arg=[]:设置镜像创建时的变量;
--cpu-shares:设置cpu使用权重;
--cpu-period:限制CPU CFS周期;
--cpuset-cpus:指定使用的CPU id;
--cepset-mems:指定使用的内存 id;
--disable-content-trust:忽略镜像的校验,默认开启;
-f:指定要使用的Dockfile路径;
--force-rm:设置镜像过程中删除中间容器;
--isolation:使用容器隔离技术;
--label=[]:设置镜像使用的元数据;
-m:设置内存最大值;
--memory-swap:设置swap的最大值为内存+swap,“-1”表示不限swap;
--no-cache:创建镜像的过程不使用缓存;
--pull:尝试去更新镜像的新版本;
--quiet,-q:安静模式,成功后只输出镜像ID;
--rm:设置镜像成功后删除中间容器;
--shm-size:设置/dev/shm的大小,默认值是64M;
--ulimit:Ulimit配置
--tag,-t:镜像的名字及标签,通常name:tag或者name格式;可以在一次构建中为一个镜像设置多个标签;
--network:默认default,在构建期间设置RUN指令的网络模式;
实例
使用当前目录的Dockerfile创建镜像,标签为runoob/ubuntu:v1。
docker build -t runoob/ubuntu:v1 .5.5 history 命令
docker history:查看指定镜像的创建历史。
语法
docker history [OPTIONS] IMAGE
OPTIONS说明:
-H:以可读的格式打印镜像大小和日期,默认为true;
--no-trunc:显示完整的提交记录;
-q:仅列出提交记录ID;
5.6 save 命令docker save:将指定镜像保存成tar归档文件。
语法
docker save [OPTIONS] IMAGE [IMAGE...]
OPTIONS说明:
-o:输出到的文件
实例
将镜像ubuntu:v1生成ubuntu_v1.tar包
docker save -o ubuntu_v1.tar ubuntu:v15.7 import 命令(export对应)
docker import:从tar包创建镜像。(export对应)
语法
docker import [OPTIONS] file|URL|- [REPOSITORY[:TAG]]
OPTIONS说明:
-c:应用docker指令创建镜像;
-m:提交时说明文字;
实例
将ubuntu_v1.tar包生成ubuntu:v1镜像
docker import ubuntu_v1.tar ubuntu:v15.8 load 命令(save对应)
docker load:导入使用 docker save命令导出的镜像。(save对应)
语法
docker load [OPTIONS]
OPTIONS说明:
--input , -i:指定导入的文件,代替 STDIN。
--quiet , -q:精简输出信息。
实例
docker load < test.tar docker load -i test.tar
import 与 load 都可以导入为一个 image ,但是 export 是对应一个 container ,save 对应一个 image
六、info|version 6.1 info 命令docker info:显示Docker系统信息,包括镜像和容器数。
语法
docker info [OPTIONS]6.2 version 命令
docker version:显示Docker版本信息。
语法
docker version [OPTIONS]



