存储引擎 | ||
查看CentOS7.6的默认存储引擎 | docker info |grep Storage | |
本地镜像管理 | ||
查看本地镜像 | docker images [OPTIONS] [REPOSITORY[:TAG]] REPOSITORY #镜像所属的仓库名称 TAG #镜像版本号(标识符),默认为latest IMAGE ID #镜像唯一ID标示 CREATED #镜像创建时间 VIRTUAL SIZE #镜像的大小 | -a :列出本地所有的镜像(含中间映像层,默认情况下,过滤掉中间映像层); --digests :显示镜像的摘要信息; -f :显示满足条件的镜像; --format :指定返回值的模板文件; --no-trunc :显示完整的镜像信息; -q :只显示镜像ID。 |
镜像导出 将从本地镜像导出为一个压缩文件,然后复制到其他服务器进行导入使用 | docker save docker save IMAGE -o /path/file.tar.gz docker save IMAGE > /path/file.tar.gz | docker save > /opt/centos.tar #centos #导出镜像 |
镜像导入 将镜像导出的压缩文件再导入 | docker load [OPTIONS] | --input , -i : 指定导入的文件,代替 STDIN。 --quiet , -q : 精简输出信息。 docker load -i centos-latest.tar.xz #导入本地镜像 |
删除镜像 | docker rmi [OPTIONS] IMAGE [IMAGE...] docker rmi -f centos:centos8.1.1911 ---强制删除正在使用的镜像,也会删除对应的容器 docker rmi -f ---删除所有镜像 | -f :通过 SIGKILL 信号强制删除一个运行中的容器。 -l :移除容器间的网络连接,而非容器本身。 -v :删除与容器关联的卷。 |
删除指定ID的镜像 | docker rmi 镜像ID/镜像名称 #删除指定ID的镜像,此镜像对应容器正启动镜像不能被删除,除非将容器全部关闭 docker start|stop|restart|pause|unpause 容器ID | docker images|grep '<none>'|awk '{print $3}'|xargs -n1 docker rmi |
删除所有dangling image(悬空镜像) | docker rmi $(docker iamges -f dangling=true -q) docker image prune | |
镜像打标签 | docker tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG] TAG默认为latest | |
容器操作基础命令 | ||
启动容器 | docker run [选项] [镜像名] [shell命令] [参数] docker run -it ** /bin/bash ---以命令行模式进入该容器 | --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: 绑定一个卷 |
退出容器并停止容器 | exit | |
退出容器且容器不停止 | 同时按三个键,ctrl+p+q | |
启动已停止运行的容器 | docker start CONTAINER ID | |
查看所有的容器 | docker ps -a ---显示全部容器,包括退出状态的容器 docker ps -l ---查询最后一次创建的容器 docker ps -a -q ---只显示容器ID docker ps -a -s ---显示容器大小 | -a :显示所有的容器,包括未运行的。 -f :根据条件过滤显示的内容。 --format :指定返回值的模板文件。 -l :显示最近创建的容器。 -n :列出最近创建的n个容器。 --no-trunc :不截断输出。 -q :静默模式,只显示容器编号。 -s :显示总的文件大小。 |
后台运行 | docker run -itd --name ** /bin/bash 在使用 -d 参数时,容器启动后会进入后台。此时想要进入容器,可以通过以下指令进入: docker attach <容器 ID> ---使用exit退出后容器自动关闭 docker exec:推荐大家使用 docker exec 命令,因为此命令会退出容器终端,但不会导致容器的停止 | |
重启停止的容器 | docker restart <容器 ID> | |
停止容器 | docker stop <容器 ID> | |
暂停/恢复容器中所有的进程 | docker pause/unpause <容器 ID> | |
导出和导入容器 | docker export 1e560fca3906 > ubuntu.tar ---导出容器 1e560fca3906 快照到本地文件 ubuntu.tar cat docker/ubuntu.tar | docker import - test/ubuntu:v1 ---将快照文件 ubuntu.tar 导入到镜像 test/ubuntu:v1: docker import http://*** ---通过指定 URL 或者某个目录来导入 docker rm -f <容器 ID> ---删除容器 docker container prune ---清理掉所有处于终止状态的容器 | for /f %i in ('dir /b C:\Users\Name.last\Desktop\11月第二周.xlsx') do echo %~zi |
查看 WEB 应用程序日志 | docker logs [ID或者名字] 可以查看容器内部的标准输出 docker logs --tail 3 eudora-mysql3 查看eudora-mysql3容器最后3行日志 | |
查看容器端口的映射情况 | docker port 可以查看指定 (ID 或者名字)容器的某个确定端口映射到宿主机的端口号 | |
检查 WEB 应用程序 | docker inspect 来查看 Docker 的底层信息。它会返回一个 JSON 文件记录着 Docker 容器的配置和状态信息 | |
查看容器内的进程 | docker top CONTAINER | |
指定端口映射 | docker run -p 81:80 ---本地端口81映射到容器80端口 docker run -p 192.168.0.100::80 ---本地IP:本地随机端口:容器端口,默认从32768开始 docker run -p 192.168.0.100:83:80/udp ---本机ip:本地端口:容器端口/协议,默认为tcp协议 docker run -p 8080:80/tcp -p 8443:443/tcp -p 53:53/udp ---一次性映射多个端口+协议 | -s :向容器发送一个信号 |
杀掉一个运行中的容器 | docker kill | |
docker system命令 | ||
prune 修剪命令 | docker image prune 命令只会清理 虚无镜像(没被标记且没被其它任何镜像引用的镜像) docker image prune -a清理无容器使用的镜像 docker image prune -a --filter "until=24h"清理无容器使用的 24 小时前创建的镜像 docker container prune删除停止状态的容器 docker volume prune删除所有未使用的Docker卷——当前未连接到正在运行的容器的那些卷 docker network prune清理没有被容器未使用的网络 |
Docker常用命令
于 2023-11-08 16:27:29 首次发布