汇总

容器生命周期管理:run、start/stop/restart、kill、rm、pause/unpause、create、exec

容器操作:ps、inspect、top、attach、events、logs、wait、export、port

容器rootfs命令:commit、cp、diff

镜像仓库:login、pull、push、search

本地镜像管理:images、rmi、tag、build、history、save、import

Info|version:info、version

帮助命令

  1. docker --help ## 不路径参数都可以使用帮助命令查看
  2. 如:docker run --help

docker状态

  1. systemctl start/stop/restart docker 启动/停止/重启docker
  2. systemctl enable/disable docker 设置/取消docker开机自启

docker信息

  1. docker version 查看版本
  2. docker info 查看docker信息(docker系统系统,镜像,容器数)

docker镜像

  1. docker search image_Name 搜索镜像
  2. docker pull image_Name 拉取镜像
  3. docker pull hub.c.163.com/library/tomcat:latest 直接下载其他站点镜像
  4. docker image ls 或者docker images 列出本地所有镜像
  5. docker rmi image_ID 删除镜像
  6. docker rmi -f $(docker images -q) 强制删除所有镜像
  7. docker tag 标记本地镜像

导入导出

  1. docker save -o 镜像名.tar 镜像名 导出镜像
  2. docker load -i 镜像名加路径 导入镜像
  3. # docker save -o centos.tar centos 导出centos镜像到本地当前目录

创建并运行容器

  1. docker run 参数 容器Name其他
  2. 参数:
  3. -i #以交互式模式运行容器,常与-t参数同时使用
  4. -t #为容器重新分配一个伪输入终端,通常与-i同时使用
  5. -d #后台运行容器,并返回容器ID;
  6. -c #后面跟待完成的命令
  7. --name #给容器使用内存的最大值
  8. --net #指定容器使用的网络类型
  9. --link #链接到另一个容器
  10. 案例:
  11. # docker run -d --name tomcat tomcat:latest
  12. #后台启动并运行一个名为tomcat的容器,如果没有tomca镜像,运行前它会自动去docker镜像站点下载最新的镜像文件
  13. # docker run -it tomcat:latest /bin/bash
  14. #以交互式模式运行容器,然后在容器内执行/bin/bash命令

创建容器但不启动

  1. docker create
  2. # docker create --name tomcat tomcat:latest

查看正在运行的容器

  1. docker ps
  2. 常用参数如下:
  3. -a #列出所有容器包含沉睡/退出状态的容器
  4. -f #根据条件过滤显示内容
  5. -l #列出最近创建的容器
  6. -n #列出最近创建的N个容器,N为数字
  7. -q #只显示容器ID
  8. -s #显示总文件大小

容器状态

  1. docker kill -s container_ID # 杀死运行的容器 参数-s #向容器发送信号
  2. docker start/stop/restart container_ID # 启动/停止/重启/容器
  3. docker rm container_ID # 删除指定关闭状态的容器
  4. docker rm -f container_ID # 删除开启的容器
  5. docker container ls -aq # 查看所有containerID
  6. docker rm $(docker container ls -aq) # 删除所有container
  7. docker rm -f `docker ps -a -q` # 删除所有容器

进入运行中的容器

  1. docker exec 参数
  2. # docker exec -it 容器ID/容器name /bin/bash

获取容器元数据

  1. docker inspect container_ID
  2. -f # 指定返回值格式或模板文件
  3. -s # 显示总文件大小
  4. --type # 为指定类型返回JSON

获取容器日志

  1. docker logs container_ID/container_Name
  2. -f #跟踪日志输出(类似tail)
  3. -t #显示时间戳

查看容器的端口映射

  1. docker post container_ID/container_Name

用已存在容器重新创建一个新镜像

  1. docker commit
  2. -a # 提交的镜像作者
  3. -c # 使用dockerfile指令来创建镜像
  4. -m # 提交时附上说明文字
  5. -p # 在commit时,将容器暂停

使用dockerfile创建镜像

  1. docker build
  2. -f #指定要使用的Dockerfile路径
  3. --label=[] #设置镜像使用的元数据;
  4. -m #设置内存最大值
  5. --memory-swap #设置Swap的最大值为内存+swap,"-1"表示不限swap
  6. --no-cache #创建镜像的过程不使用缓存
  7. --pull #尝试去更新镜像的新版本
  8. -q #安静模式,成功后只输出镜像ID
  9. --rm #设置镜像成功后删除中间容器
  10. --ulimit #Ulimit配置

查看指定镜像的创建历史

  1. docker history container_ID
  2. -H # 以可读的格式打印镜像大小和日期,默认为true
  3. --no-trunc # 显示完整的提交记录
  4. -q # 仅列出提交记录ID

查看容器网络信息

  1. docker network inspect bridge
  1. 可以指定要映射的端口,并且,在一个指定端口上只可以绑定一个容器。
  2. 端口映射支持的格式有:
  3.   ip:hostport:containerport #指定ip、指定主机port、指定容器port
  4.   ip::containerport #指定ip、未指定主机port、指定容器port
  5.   hostport:container #未指定ip port、指定主机port、指定容器port
  6. 多次使用-p标记可以绑定多个端口,例 -p 00:80 -p 8088:8080可以指定范围,例 -p 1234-1236:1222-1224