文章目录

  • 语法
    • option
  • 管理命令
    • container
    • image
    • network
    • node
    • plugin
    • secret
    • service
    • stack
    • swarm
    • system
    • volume
  • 容器生命周期管理
    • run
    • start/stop/restart
    • kill
    • rm
    • pause/unpause
    • create
    • exec
  • 容器操作
    • ps
    • inspect
    • top
    • attach
    • events
    • logs
    • wait
    • export
    • port
  • 容器rootfs命令
    • commit
    • cp
    • diff
    • 镜像仓库 login
    • logout
    • pull
    • push
    • search
  • 本地镜像管理
    • images
    • rmi
    • tag
    • build
    • history
    • save
    • load
    • import
  • info|version info
    • version

语法

docker COMMAND [options]

option

      --config string      Location of client config files (default "/root/.docker")-D, --debug              Enable debug mode--help               Print usage-H, --host list          Daemon socket(s) to connect to (default [])-l, --log-level string   Set the logging level ("debug", "info", "warn", "error", "fatal") (default "info")--tls                Use TLS; implied by --tlsverify--tlscacert string   Trust certs signed only by this CA (default "/root/.docker/ca.pem")--tlscert string     Path to TLS certificate file (default "/root/.docker/cert.pem")--tlskey string      Path to TLS key file (default "/root/.docker/key.pem")--tlsverify          Use TLS and verify the remote-v, --version            Print version information and quit

管理命令

container

管理containers。见后面

image

管理 images。见后面

network

管理networks。
语法:

docker network COMMAND

子命令

  connect     Connect a container to a networkcreate      Create a networkdisconnect  Disconnect a container from a networkinspect     Display detailed information on one or more networksls          List networksprune       Remove all unused networksrm          Remove one or more networks

node

管理Swarm节点。需要swarm。

plugin

管理plugins。
子命令:

  create      Create a plugin from a rootfs and configuration. Plugin data directory must contain config.json and rootfs directory.disable     Disable a pluginenable      Enable a plugininspect     Display detailed information on one or more pluginsinstall     Install a pluginls          List pluginspush        Push a plugin to a registryrm          Remove one or more pluginsset         Change settings for a pluginupgrade     Upgrade an existing plugin

secret

管理Docker secrets。需要swarm。
子命令:

  create      Create a secret from a file or STDIN as contentinspect     Display detailed information on one or more secretsls          List secretsrm          Remove one or more secrets

service

管理services。需要swarm。
子命令:

  create      Create a new serviceinspect     Display detailed information on one or more servicesls          List servicesps          List the tasks of a servicerm          Remove one or more servicesscale       Scale one or multiple replicated servicesupdate      Update a service

stack

管理Docker stacks。需要swarm。
子命令:

  deploy      Deploy a new stack or update an existing stackls          List stacksps          List the tasks in the stackrm          Remove the stackservices    List the services in the stack

swarm

Manage Swarm。

system

管理Docker。
子命令:

  df          Show docker disk usageevents      Get real time events from the serverinfo        Display system-wide informationprune       Remove unused data

volume

管理volumes。
语法:

docker volume COMMAND

子命令

  create      Create a volumeinspect     Display detailed information on one or more volumesls          List volumesprune       Remove all unused volumesrm          Remove one or more volumes

容器生命周期管理

run

功能
创建一个新的容器运行一个命令
语法

docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

参数
OPTIONS说明:
--a stdin: 指定标准输入输出内容类型,可选 STDIN/STDOUT/STDERR 三项;
--d: 后台运行容器,并返回容器ID;
--i: 以交互模式运行容器,通常与 -t 同时使用;
--P: 随机端口映射,容器内部端口随机映射到主机的高端口
--p: 指定端口映射,格式为:主机(宿主)端口:容器端口
--t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;
-–name=“nginx-lb”: 为容器指定一个名称;
-–dns 8.8.8.8: 指定容器使用的DNS服务器,默认和宿主一致;
-–dns-search example.com: 指定容器DNS搜索域名,默认和宿主一致;
--h “mars”: 指定容器的hostname;
--e username=“ritchie”: 设置环境变量;
-–env-file=[]: 从指定文件读入环境变量;
-–cpuset=“0-2” or --cpuset=“0,1,2”: 绑定容器到指定CPU运行;
--m:设置容器使用内存最大值;
-–net=“bridge”: 指定容器的网络连接类型,支持 bridge/host/none/container: 四种类型;
-–link=[]: 添加链接到另一个容器;
-–expose=[]: 开放一个端口或一组端口;
-–volume , -v: 绑定一个卷
示例

#使用docker镜像nginx:latest以后台模式启动一个容器,并将容器命名为mynginx。
docker run --name mynginx -d nginx:latest
#使用镜像nginx:latest以后台模式启动一个容器,并将容器的80端口映射到主机随机端口。
docker run -P -d nginx:latest
#使用镜像 nginx:latest,以后台模式启动一个容器,将容器的 80 端口映射到主机的 80 端口,主机的目录 /data 映射到容器的 /data。
docker run -p 80:80 -v /data:/data -d nginx:latest
#绑定容器的 8080 端口,并将其映射到本地主机 127.0.0.1 的 80 端口上。
$ docker run -p 127.0.0.1:80:8080/tcp ubuntu bash
#使用镜像nginx:latest以交互模式启动一个容器,在容器内执行/bin/bash命令。
runoob@runoob:~$ docker run -it nginx:latest /bin/bash

start/stop/restart

功能
docker start :启动一个或多个已经被停止的容器
docker stop :停止一个运行中的容器
docker restart :重启容器
语法

docker start [OPTIONS] CONTAINER [CONTAINER...]
docker stop [OPTIONS] CONTAINER [CONTAINER...]
docker restart [OPTIONS] CONTAINER [CONTAINER...]

参数
Options:
-a, --attach Attach STDOUT/STDERR and forward signals
–detach-keys string Override the key sequence for detaching a container
–help Print usage
-i, --interactive Attach container’s STDIN

kill

功能
杀掉一个运行中的容器。
语法

docker kill [OPTIONS] CONTAINER [CONTAINER...]

参数
OPTIONS说明:
--s:向容器发送一个信号
示例

#杀掉运行中的容器mynginx
runoob@runoob:~$ docker kill -s KILL mynginx

rm

功能
删除一个或多个容器。
语法

docker rm [OPTIONS] CONTAINER [CONTAINER...]

参数
OPTIONS说明:
--f:通过 SIGKILL 信号强制删除一个运行中的容器。
--l:移除容器间的网络连接,而非容器本身。
--v:删除与容器关联的卷。
stop,rm,kill区别

  • docker stop
    将容器保留在docker ps -a列表中(如果您想将其状态保存在新image中,则可以提交该容器)。它先发送SIGTERM,然后在宽限期之后发送SIGKILL。优雅退出。
  • docker rm
    将从docker ps -a列表中删除容器,丢失其“状态”(写在image文件系统顶部的分层文件系统)。它无法删除正在运行的容器(除非使用调用-f,在这种情况下,它将直接发送SIGKILL)。
  • docker kill
    发送SIGKILL信号,应用程序直接退出。
    在生命周期方面,应该首先停止容器,然后再将其删除。

pause/unpause

功能
docker pause :暂停容器中所有的进程。
docker unpause :恢复容器中所有的进程。
语法

docker pause [OPTIONS] CONTAINER [CONTAINER...]
docker unpause [OPTIONS] CONTAINER [CONTAINER...]

参数

create

功能
创建一个新的容器但不启动它。create的容器,可以通过start命令启动。
语法

docker create [OPTIONS] IMAGE [COMMAND] [ARG...]

参数
同docker run

exec

功能
运行的容器中执行命令
语法

docker exec [OPTIONS] CONTAINER COMMAND [ARG...]

参数
OPTIONS说明:
--d:分离模式: 在后台运行
--i:即使没有附加也保持STDIN 打开
--t:分配一个伪终端 。(在crontab等非前端任务中,如果加此参数,会提示:the input device is not a TTY
示例

#在容器 mynginx 中以交互模式执行容器内 /root/runoob.sh 脚本:
runoob@runoob:~$ docker exec -it mynginx /bin/sh /root/runoob.sh#在容器 mynginx 中开启一个交互模式的终端:
runoob@runoob:~$ docker exec -i -t  mynginx /bin/bash

容器操作

ps

功能
列出容器
语法

docker ps [OPTIONS]

参数
OPTIONS说明:
--a:显示所有的容器,包括未运行的。
--f:根据条件过滤显示的内容。
-–format:指定返回值的模板文件。
--l:显示最近创建的容器。
--n:列出最近创建的n个容器。
-–no-trunc:不截断输出。
--q:静默模式,只显示容器编号。
--s:显示总的文件大小。

inspect

功能
获取容器/镜像的元数据。
语法

docker inspect [OPTIONS] NAME|ID [NAME|ID...]

参数
OPTIONS说明:
--f:指定返回值的模板文件。
--s:显示总的文件大小。
-–type:为指定类型返回JSON。

top

功能
查看容器中运行的进程信息,支持 ps 命令参数。
语法

docker top [OPTIONS] CONTAINER [ps OPTIONS]

参数

attach

功能
连接到正在运行中的容器。
要attach上去的容器必须正在运行,可以同时连接上同一个container来共享屏幕(与screen命令的attach类似)。
官方文档中说attach后可以通过CTRL-C来detach,但实际上经过测试,如果container当前在运行bash,CTRL-C自然是当前行的输入,没有退出;如果container当前正在前台运行进程,如输出nginx的access.log日志,CTRL-C不仅会导致退出容器,而且还stop了。这不是我们想要的,detach的意思按理应该是脱离容器终端,但容器依然运行。好在attach是可以带上**–sig-proxy=false**来确保CTRL-D或CTRL-C不会关闭容器。
语法

docker attach [OPTIONS] CONTAINER

参数
Options:
–detach-keys string Override the key sequence for detaching a container
–help Print usage
–no-stdin Do not attach STDIN
–sig-proxy Proxy all received signals to the process (default true)

events

功能
从服务器获取实时事件
语法

docker events [OPTIONS]

参数
OPTIONS说明:
-**-f :根据条件过滤事件;
-
–since :从指定的时间戳后显示所有事件;
-
–until :**流水时间显示到指定的时间为止;

logs

功能
获取容器的日志
语法

docker logs [OPTIONS] CONTAINER

参数
OPTIONS说明:
--f: 跟踪日志输出。类似linux tail -f 命令,滚动更新。
-–since:显示某个开始时间的所有日志
--t: 显示时间戳
-–tail:仅列出最新N条容器日志

wait

功能
阻塞运行直到容器停止,然后打印出它的退出代码。
语法

docker wait [OPTIONS] CONTAINER [CONTAINER...]

参数

export

功能
将container作为一个tar归档文件导出到STDOUT。
语法

docker export [OPTIONS] CONTAINER

参数
OPTIONS说明:
--o:将输入内容写到文件。
示例:

#将id为a404c6c174a2的容器按日期保存为tar文件。
docker export -o mysql-`date +%Y%m%d`.tar a404c6c174a2

port

功能
列出指定的容器的端口映射,或者查找将PRIVATE_PORT NAT到面向公众的端口
语法

docker port [OPTIONS] CONTAINER [PRIVATE_PORT[/PROTO]]

参数

容器rootfs命令

commit

功能
容器创建一个新的镜像
语法

docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]

参数
OPTIONS说明:
--a:提交的镜像作者;
--c:使用Dockerfile指令来创建镜像;
--m:提交时的说明文字;
--p:在commit时,将容器暂停。

cp

功能
用于容器与主机之间的数据拷贝
语法

docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH|-
docker cp [OPTIONS] SRC_PATH|- CONTAINER:DEST_PATH

参数
OPTIONS说明:
--L:保持源目标中的链接
容器是镜像的运行实例。不同的是,镜像是静态的只读文件,而容器带有运行时需要的可写文件层;同时,容器中的应用进程处于运行状态。所以是可以copy的。
示例

#将主机/www/runoob目录拷贝到容器96f7f14e99ab的/www目录下。
docker cp /www/runoob 96f7f14e99ab:/www/
#将主机/www/runoob目录拷贝到容器96f7f14e99ab中,目录重命名为www。
docker cp /www/runoob 96f7f14e99ab:/www
#将容器96f7f14e99ab的/www目录拷贝到主机的/tmp目录中。
docker cp  96f7f14e99ab:/www /tmp/

diff

功能
检查容器里文件结构的更改。更改标识由C,D,A标识。
语法

docker diff [OPTIONS] CONTAINER

参数

镜像仓库 login

功能
登陆到一个Docker镜像仓库,如果未指定镜像仓库地址,默认为官方仓库 Docker Hub
语法

docker login [OPTIONS] [SERVER]

参数
OPTIONS说明:
--u:登陆的用户名
--p:登陆的密码

logout

功能
登出一个Docker镜像仓库,如果未指定镜像仓库地址,默认为官方仓库 Docker Hub
语法

docker logout [OPTIONS] [SERVER]

参数
OPTIONS说明:
--u:登陆的用户名
--p:登陆的密码

pull

功能
从镜像仓库中拉取或者更新指定镜像
语法

docker pull [OPTIONS] NAME[:TAG|@DIGEST]

参数
OPTIONS说明:
--a:拉取所有 tagged 镜像
-–disable-content-trust:忽略镜像的校验,默认开启
如果未指定tag,则为最新镜像。

push

功能
将本地的镜像上传到镜像仓库,要先登陆到镜像仓库
语法

docker push [OPTIONS] NAME[:TAG]

参数
OPTIONS说明:
-–disable-content-trust:忽略镜像的校验,默认开启

search

功能
从Docker Hub查找镜像
语法

docker search [OPTIONS] TERM

参数
OPTIONS说明:
-–automated:只列出 automated build类型的镜像;
-–no-trunc:显示完整的镜像描述;
--s:列出收藏数不小于指定值的镜像。

本地镜像管理

images

功能
列出本地镜像。
语法

docker images [OPTIONS] [REPOSITORY[:TAG]]

参数
OPTIONS说明:
--a:列出本地所有的镜像(含中间映像层,默认情况下,过滤掉中间映像层);
-–digests:显示镜像的摘要信息;
--f:显示满足条件的镜像;
-–format:指定返回值的模板文件;
-–no-trunc:显示完整的镜像信息;
--q:只显示镜像ID。

rmi

功能
删除本地一个或多少镜像。
语法

docker rmi [OPTIONS] IMAGE [IMAGE...]

参数
OPTIONS说明:
--f:强制删除;不论镜像是否被容器使用。
-–no-prune:不移除该镜像的过程镜像,默认移除;

tag

功能
标记本地镜像,将其归入某一仓库。
语法

docker tag [OPTIONS] IMAGE[:TAG] [REGISTRYHOST/][USERNAME/]NAME[:TAG]

参数

build

功能
使用 Dockerfile 创建镜像。
语法

docker build [OPTIONS] PATH | URL | -

参数
OPTIONS说明:
-–build-arg=[]:设置镜像创建时的变量;
-–cpu-shares:设置 cpu 使用权重;
-–cpu-period:限制 CPU CFS周期;
-–cpu-quota:限制 CPU CFS配额;
-–cpuset-cpus:指定使用的CPU id;
-–cpuset-mems:指定使用的内存 id;
-–disable-content-trust:忽略校验,默认开启;
--f:指定要使用的Dockerfile路径;
-–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 .
#使用URL github.com/creack/docker-firefox 的 Dockerfile 创建镜像。
docker build github.com/creack/docker-firefox
#也可以通过 -f Dockerfile 文件的位置:
$ docker build -f /path/to/a/Dockerfile .

history

功能
查看指定镜像的创建历史。
语法

docker history [OPTIONS] IMAGE

参数
OPTIONS说明:
--H:以可读的格式打印镜像大小和日期,默认为true;
-–no-trunc:显示完整的提交记录;
--q:仅列出提交记录ID。

save

功能
将指定镜像保存成 tar 归档文件。
语法

docker save [OPTIONS] IMAGE [IMAGE...]

参数
OPTIONS 说明:
--o:输出到的文件。

load

功能
导入使用save 命令导出的镜像。
语法

docker load [OPTIONS]

参数
OPTIONS 说明:

-–input , -i: 指定导入的文件,代替 STDIN。
-–quiet , -q: 精简输出信息。

import

功能
从归档文件中创建镜像。
语法

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

参数
OPTIONS说明:
--c:应用docker 指令创建镜像;
--m:提交时的说明文字;
注意:
实际上,既可以使用docker load命令来导入镜像库存储文件到本地镜像库,也可以使用docker import命令来导入一个容器快照到本地镜像库。
两者的区别在于容器快照将会丢弃所有的历史记录和元数据信息,而镜像存储文件将保存完整记录,体积也会更大。此外从容器快照文件导入时,也可以重新指定标签等元数据。

info|version info

功能
显示 Docker 系统信息,包括镜像和容器数。。
语法

docker info [OPTIONS]

参数
Options:
-f, --format string Format the output using the given Go template
–help Print usage

version

功能
显示 Docker 版本信息。
语法

docker version [OPTIONS]

参数
OPTIONS说明:

--f :指定返回值的模板文件。

docker命令整理相关推荐

  1. win11 WSL centos7安装docker命令整理

    $ curl -fsSL https://get.docker.com -o get-docker.sh $ sudo sh get-docker.sh $ sudo service docker s ...

  2. docker常用命令_docker常用命令整理

    docker常用命令整理 代码狂魔 • 5 天前 • 技术积累 • 14 • 0 前面已经把docker是什么和 docker怎么安装已经写了,现在我将常用命令做一个整理,方便日后查阅 常用命令 do ...

  3. docker 容器 exited_docker常用命令整理

    docker常用命令整理 代码狂魔 • 5 天前 • 技术积累 • 14 • 0 前面已经把docker是什么和 docker怎么安装已经写了,现在我将常用命令做一个整理,方便日后查阅 常用命令 do ...

  4. Docker常用命令整理

    Docker相关的命令和指令主要分为两大类,一是Docker命令,二是Dockerfile指令.而在Docker命令中,通过操作对象的不同,又可分为Docker镜像操作命令和Docker容器操作命令. ...

  5. Docker 命令自动补全必须有

    点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 前言 不知道这个小伙伴有多久没用过 Docker 了, ...

  6. Docker 命令终极教程:8步走

    Docker容器已经从一种锦上添花的技术转变成了部署环境的必需品.有时,作为开发人员,我们需要花费大量时间调试或研究Docker工具来帮助我们提高生产力.每一次新技术浪潮来临之际,我们都需要花费大量时 ...

  7. 只要 8 个步骤,学会这个 Docker 命令终极教程!

    作者 | Timothy Mugayi 译者 | 弯月 责编 | 徐威龙 封图| CSDN 下载于视觉中国 Docker容器已经从一种锦上添花的技术转变成了部署环境的必需品.有时,作为开发人员,我们需 ...

  8. android 常用命令,Android开发常用命令整理

    一些命令,不常用就忘记了,特整理在这里,忘了就查查.. ·        alias 用于定义和查询别名,但不保存.修改home目录下.bashrc保存定义别名格式,不加参数即查询别名:alias c ...

  9. kubernetes常用命令整理

    一.维护类: master节点: [root@k8s-master01 -]# for I in etcd kube-apiserver kube-controller-manager kube-sc ...

最新文章

  1. 进程间通信(三)—信号量
  2. 刀塔传奇服务器维护,刀塔传奇360专服合服维护补偿公告
  3. 那些没说出口的研发之痛,做与不做微服务的几大理由
  4. 装X神器!NuShell
  5. Contracts for Java
  6. Windows下架设Apache并支持ASP-Win+Apache+ASP
  7. Velocity教程 (zhuan)
  8. Android打开相机进行人脸识别,使用虹软人脸识别引擎
  9. Comparable与Comparator
  10. bookstore项目学到的对象
  11. [HTML/CSS]下拉菜单
  12. ABC三类地址、子网掩码及子网划分
  13. 百度迁徙数据的快捷采集方法分析总结
  14. ubuntu软件默认安装位置
  15. 【Excel2019(十二):Match与Index函数】【函数语法+与VLOOKUP比较+单元格引用原理+认识COLUMN函数+使用Match与VLOOKUP函数嵌套返回多列结果】
  16. 十年远征:一个云操作系统的光荣与梦想
  17. Android输入汉字得到拼音
  18. 河北安格计算机专修学院简介,石家庄那23家院校被取消办学资格?
  19. 简单的几句PHP生成美团3周年砸金蛋抽奖代码
  20. 如何检测和处理内存泄漏

热门文章

  1. 页面间的跳转,打开,关闭小技巧.
  2. 优秀的人,都敢对自己下狠手
  3. 线上oom 自动kill 程序
  4. pta_l1-6(连续因子)
  5. iOS 关于集成融云IM的一些常用方法
  6. Kubernetes(六) - Secret和私有仓库认证
  7. 大数据安全分析“架构”
  8. 京东宣布收购拇指阅读,具体金额未披露
  9. I.MX6 Android Linux shell MMPF0100 i2c 获取数据
  10. CentOS YUM / RPM Error Signature Key ID BAD