docker基础命令
容器生命周期管理
run 创建一个新容器并运行 start 开启一个容器并使其在后台运行 stop 停止一个容器 restart 重启一个容器 kill 杀掉一个容器进程 rm 删除容器 pause 暂停容器 unpause 恢复暂停容器 create 从镜像中创建一个容器 exec 对一个容器执行shell命令
容器操作
ps 列出容器 inspect 获取容器或镜像的元数据 top 查看正在运行中的容器进程信息 attach 链接正在运行的容器 events 从docker服务器获取事件 logs 获取docker日志 wait 让一个容器进入等待,使其进入阻塞状态 export 讲一个容器的文件系统打包至tar port 列出一个容器的端口映射情况 container 管理已经运行的容器的 deploy 部署新的堆栈或更新已有堆栈的 update 更新容器 rename 重命名容器 volume 卷管理
容器文件系统操作
commit 提交一个容器的文件系统,使之生成一个新的镜像 cp 向一个正在运行的容器复制文件,或将容器中的文件复制出来 diff 检查一个容器文件系统更改情况
镜像仓库操作
login docker登入 logout docker登出 pull 拉取镜像 push 推送镜像至服务器 search 在docker hub上查询镜像
镜像管理
images 列出镜像 rmi 删除镜像 tag 修改本地某一镜像的标记,使其镜像属于某一仓库 build 通过指定Dockerfile文件编译镜像 history 查看镜像历史 save 将制定镜像保存成tar文件 load 从tar中恢复镜像 import 从tar中创建一个新镜像 checkpoint 设置checkpoint,类似于恢复点,可以让镜像撤销到曾经设置的某一个checkpoint上 image docker镜像管理 manifest docker镜像清单管理 trust docker可信镜像管理
集群管理
swarm docker集群管理工具 node docker集群节点控制 stack docker集群堆栈管理
其他命令
info 查询docker信息 version 查询docker版本 system docker系统管理 stats docker容器资源使用统计 config 管理docker配置 network docker网络管理 plugin docker插件管理 secret docker敏感信息管理 service docker服务管理
常用docker命令语法
镜像相关
1、搜索镜像文件
docker search [OPTIONS] TERM --automated :只列出 automated build类型的镜像; --no-trunc :显示完整的镜像描述; -s :列出收藏数不小于指定值的镜像。
2、列出全部镜像文件
docker images [OPTIONS] [REPOSITORY[:TAG]]
-a :列出本地所有的镜像(含中间映像层,默认情况下,过滤掉中间映像层); --digests :显示镜像的摘要信息; -f :显示满足条件的镜像; --format :指定返回值的模板文件; --no-trunc :显示完整的镜像信息; -q :只显示镜像ID。
3、拉去镜像文件
docker pull [OPTIONS] NAME[:TAG|@DIGEST] -a :拉取所有 tagged 镜像 --disable-content-trust :忽略镜像的校验,默认开启
例如:docker pull nginx 等价于docker pull nginx:latest
4、删除镜像文件
docker rmi [OPTIONS] IMAGE [IMAGE...] OPTIONS说明 -f :强制删除; --no-prune :不移除该镜像的过程镜像,默认移除; 例如: docker rmi -f nginx 等价于 docker rmi -f nginx:latest 删除单个:docker rmi -f 镜像ID 删除多个:docker rmi -f 镜像名1:TAG 镜像名2:TAG 删除全部:docker rmi -f $(docker images -aq)
容器相关
1、新建并启动容器
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: 绑定一个卷
2、列出容器列表
docker ps [OPTIONS] OPTIONS说明: -a :显示所有的容器,包括未运行的。 -f :根据条件过滤显示的内容。 --format :指定返回值的模板文件。 -l :显示最近创建的容器。 -n :列出最近创建的n个容器。 --no-trunc :不截断输出。 -q :静默模式,只显示容器编号。 -s :显示总的文件大小。
3、退出容器
exit 容器停止退出 Ctrl+P+Q 容器不停止退出
4、启动容器、停止和重启容器
docker start [OPTIONS] CONTAINER [CONTAINER...] docker stop [OPTIONS] CONTAINER [CONTAINER...] docker restart [OPTIONS] CONTAINER [CONTAINER...]
5、删除容器
docker rm [OPTIONS] CONTAINER [CONTAINER...] OPTIONS说明: -f :通过 SIGKILL 信号强制删除一个运行中的容器。 -l :移除容器间的网络连接,而非容器本身。 -v :删除与容器关联的卷。
6、查看docker日志
docker logs [OPTIONS] CONTAINER OPTIONS说明: -f : 跟踪日志输出,跟随最近的日志打印 --since :显示某个开始时间的所有日志 -t : 显示时间戳 --tail :仅列出最新N条容器日志
7、查看docker内进程
docker top [OPTIONS] CONTAINER [ps OPTIONS]
8、获取容器的元数据
docker inspect [OPTIONS] NAME|ID [NAME|ID...] OPTIONS说明: -f :指定返回值的模板文件。 -s :显示总的文件大小。 --type :为指定类型返回JSON。
9、进入容器
docker exec [OPTIONS] CONTAINER COMMAND [ARG...] OPTIONS说明: -d :分离模式: 在后台运行 -i :即使没有附加也保持STDIN 打开 -t :分配一个伪终端