汇总
容器生命周期管理: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
帮助命令
docker --help ## 不路径参数都可以使用帮助命令查看
如:docker run --help
docker状态
systemctl start/stop/restart docker 启动/停止/重启docker
systemctl enable/disable docker 设置/取消docker开机自启
docker信息
docker version 查看版本
docker info 查看docker信息(docker系统系统,镜像,容器数)
docker镜像
docker search image_Name 搜索镜像
docker pull image_Name 拉取镜像
docker pull hub.c.163.com/library/tomcat:latest 直接下载其他站点镜像
docker image ls 或者docker images 列出本地所有镜像
docker rmi image_ID 删除镜像
docker rmi -f $(docker images -q) 强制删除所有镜像
docker tag 标记本地镜像
导入导出
docker save -o 镜像名.tar 镜像名 导出镜像
docker load -i 镜像名加路径 导入镜像
# docker save -o centos.tar centos 导出centos镜像到本地当前目录
创建并运行容器
docker run 参数 容器Name其他
参数:
-i #以交互式模式运行容器,常与-t参数同时使用
-t #为容器重新分配一个伪输入终端,通常与-i同时使用
-d #后台运行容器,并返回容器ID;
-c #后面跟待完成的命令
--name #给容器使用内存的最大值
--net #指定容器使用的网络类型
--link #链接到另一个容器
案例:
# docker run -d --name tomcat tomcat:latest
#后台启动并运行一个名为tomcat的容器,如果没有tomca镜像,运行前它会自动去docker镜像站点下载最新的镜像文件
# docker run -it tomcat:latest /bin/bash
#以交互式模式运行容器,然后在容器内执行/bin/bash命令
创建容器但不启动
docker create
# docker create --name tomcat tomcat:latest
查看正在运行的容器
docker ps
常用参数如下:
-a #列出所有容器包含沉睡/退出状态的容器
-f #根据条件过滤显示内容
-l #列出最近创建的容器
-n #列出最近创建的N个容器,N为数字
-q #只显示容器ID
-s #显示总文件大小
容器状态
docker kill -s container_ID # 杀死运行的容器 参数-s #向容器发送信号
docker start/stop/restart container_ID # 启动/停止/重启/容器
docker rm container_ID # 删除指定关闭状态的容器
docker rm -f container_ID # 删除开启的容器
docker container ls -aq # 查看所有containerID
docker rm $(docker container ls -aq) # 删除所有container
docker rm -f `docker ps -a -q` # 删除所有容器
进入运行中的容器
docker exec 参数
# docker exec -it 容器ID/容器name /bin/bash
获取容器元数据
docker inspect container_ID
-f # 指定返回值格式或模板文件
-s # 显示总文件大小
--type # 为指定类型返回JSON
获取容器日志
docker logs container_ID/container_Name
-f #跟踪日志输出(类似tail)
-t #显示时间戳
查看容器的端口映射
docker post container_ID/container_Name
用已存在容器重新创建一个新镜像
docker commit
-a # 提交的镜像作者
-c # 使用dockerfile指令来创建镜像
-m # 提交时附上说明文字
-p # 在commit时,将容器暂停
使用dockerfile创建镜像
docker build
-f #指定要使用的Dockerfile路径
--label=[] #设置镜像使用的元数据;
-m #设置内存最大值
--memory-swap #设置Swap的最大值为内存+swap,"-1"表示不限swap
--no-cache #创建镜像的过程不使用缓存
--pull #尝试去更新镜像的新版本
-q #安静模式,成功后只输出镜像ID
--rm #设置镜像成功后删除中间容器
--ulimit #Ulimit配置
查看指定镜像的创建历史
docker history container_ID
-H # 以可读的格式打印镜像大小和日期,默认为true
--no-trunc # 显示完整的提交记录
-q # 仅列出提交记录ID
查看容器网络信息
docker network inspect bridge
可以指定要映射的端口,并且,在一个指定端口上只可以绑定一个容器。
端口映射支持的格式有:
ip:hostport:containerport #指定ip、指定主机port、指定容器port
ip::containerport #指定ip、未指定主机port、指定容器port
hostport:container #未指定ip port、指定主机port、指定容器port
多次使用-p标记可以绑定多个端口,例 -p 00:80 -p 8088:8080可以指定范围,例 -p 1234-1236:1222-1224