Docker常用命令
基本命令 sh 复制代码 # 版本信息 docker version # Docker信息 docker info # 帮助 docker --help 镜像命令 sh 复制代码 # 列出本地主机上的镜像 docker images # 可选参数 # -a:列出所有镜像 # -q:只显示镜像ID # --digests:显示镜像的摘要信息 # --no-trunc:显示镜像的完整信息 docker images --digests --no-trunc # 查找镜像[https://hub.docker.com/] docker search [镜像名] # 可选参数 # -s:列出收藏数不小于指定值的镜像 # --no-trunc:显示镜像的完整信息 # --automated:只列出automated build类型的镜像 docker search -s 30 --no-trunc --automated tomcat # 下载镜像 docker pull [镜像名]:[标签(版本)] # 删除镜像 docker rmi [镜像名]:[标签(版本)] docker rmi [镜像ID(空格分隔多个镜像)] # 可选参数 # -f:强制删除 # 删除全部镜像 docker rmi -f $(docker images -qa) # 删除所有包含none的镜像 docker images | grep none | awk '{print $3}' | xargs docker rmi # 导出docker镜像 docker save -o redis_v7.0.10.tar redis:7.0.10 # redis_v7.0.10.tar为保存本地的文件名 # redis:7.0.10为镜像名称和版本 # 必须带名称和版本,否则导入的时候名称和版本为空 # 导入docker镜像 docker load < redis_v7.0.10.tar # redis_v7.0.10.tar为保存本地的文件名 # 提交新镜像 docker commit -a="xujun" -m="my tomcat" [容器名 or 容器ID] xujun/tomcat:1.0 # -a:作者 # -m:说明 # xujun/tomcat:新镜像名 # 1.0:标签(版本) 容器命令 sh 复制代码 # 新建并启动容器 docker run -it --name centos00 centos # 可选参数 # --name="容器新名字":为容器指定一个别名 # -d:后台运行容器,并返回容器ID,即启动守护式容器 # -i:以交互模式运行容器,通常与-t同时使用 # -t:为容器重新分配一个伪输入终端,通常与-i同时使用 # -P:随机端口映射 # -p:指定端口映射,有以下四种格式 # ip:hostPort:containerPort # ip::containerPort # hostPort:containerPort # containerPort # 列出当前正在运行的所有容器 docker ps # 可选参数 # -a:列出当前所有正在运行和历史上运行过的容器 # -l:显示最近创建的容器 # -n:显示最近n个创建的容器 # -q:静默模式,只显示容器编号 # --no-trunc:不截断输出 # 退出容器 # 容器停止退出 exit # 容器不停止退出 ctrl+P+Q # 启动容器 docker start [容器名 or 容器ID] # 重启容器 docker restart [容器名 or 容器ID] # 停止容器 docker stop [容器名 or 容器ID] # 强制停止容器 docker kill [容器名 or 容器ID] # 删除已停止的容器 docker rm [容器名 or 容器ID] # 一次性删除多个 docker rm -f $(docker ps -a -q) docker ps -a -q | xargs docker rm # 启动守护式进程 docker run --name centos00 -d centos # 后台进程启动并循环打印hello xujun docker run --name centos01 -d centos /bin/sh -c "while true; do echo hello xujun; sleep 2; done" # 进入正在运行的容器并以命令行交互 # 重新进入容器交互界面 docker attach [容器名 or 容器ID] # 在宿主机往容器内推送命令 docker exec -it [容器名 or 容器ID] [命令] # 重新进入容器交互界面 docker exec -it [容器名 or 容器ID] /bin/bash # 共享数据卷 docker run -it -v [宿主机绝对路径(/data0/mydata)]:[容器内绝对路径(/data0/mydata)] --name centos00 centos # 读写保护 docker run -it -v [宿主机绝对路径(/data0/mydata)]:[容器内绝对路径(/data0/mydata)]:ro --name centos00 centos # 继承 docker run -it --name centos01 --volumes-from centos00 centos # centos01继承于centos00创建,内部数据卷也共享数据 监控命令 sh 复制代码 # 查看容器日志 docker logs -f -t -tall 3(查看行数) [容器名 or 容器ID] # 可选参数 # -t:加入的时间戳 # -f:跟随最新日志打印 # --tail 3:显示最后3条日志 # 查看容器内运行的进程 docker top [容器名 or 容器ID] # 查看容器内部细节 docker inspect [容器名 or 容器ID] # 查看容器占用的内存大小 docker stats [容器名 or 容器ID] 网络命令 sh 复制代码 # 查看网络 docker network ls # 删除网络 docker network rm <网络名称或ID> 系统命令 sh 复制代码 # 查看docker文件占用大小 docker system df 其他命令 sh 复制代码 # 复制文件 # 从容器内拷贝文件到主机上 docker cp [容器名 or 容器ID]:容器路径 宿主机文件路径 docker cp es8_00:/usr/share/elasticsearch/config/elasticsearch.yml /data0/elasticsearch.yml # 从主机到容器内拷贝文件上 docker cp 宿主机文件路径 [容器名 or 容器ID]:容器路径 docker cp /data0/elasticsearch.yml es8_00:/usr/share/elasticsearch/config/elasticsearch.yml