主页 > 创业  > 

linux-docker及docker-compose相关命令

linux-docker及docker-compose相关命令

文章目录 计算机系统5G云计算LINUX Docker及docker-conpose相关命令一、Docker 常用命令1、镜像管理1.拉取镜像2.列出本地镜像3.删除镜像4.构建镜像(从 Dockerfile)5.推送镜像到仓库6.从 .tar 文件加载镜像7.将镜像保存为 .tar 文件8.搜索镜像9.查看镜像构建历史10.为镜像打标签或修改标签 2、容器管理1.启动容器2.列出运行中的容器3.启动/停止/重启容器4.在正在运行的容器中执行命令或与之交互5.查看容器日志6.删除容器7.复制文件到容器8.查看容器详细信息 3、网络管理1.查看网络列表2.创建自定义网络3.显示一个或多个网络的详细信息4.将容器连接到网络5.将容器从网络断开连接6.删除所有未使用的网络7.删除一个或多个网络 4、数据卷管理1.列出数据卷2.删除未使用的数据卷3.创建一个新的卷4.显示一个或多个卷的详细信息5.删除一个或多个卷 5、系统与维护1.清理未使用的镜像、容器、网络2.显示 Docker 磁盘使用情况3.显示 Docker 守护进程的实时事件4.显示 Docker 系统信息5.实时查看容器资源占用6.查看 Docker 系统信息7.查看 Docker 版本 二、Docker Compose 常用命令1、基本操作1.启动所有服务2.停止服务并删除容器3.启动已存在的服务4.停止运行中的服务5.重启服务 2、服务管理1.查看所有服务的状态2.查看所有服务的日志3.构建或重新构建服务的镜像4.在指定服务的容器中执行命令5.拉取服务依赖的镜像 3、镜像与容器1.列出所有服务使用的镜像2.删除已停止的服务容器3.查看服务容器的进程 4、配置文件与环境1.验证和查看 `docker-compose.yml` 文件的配置2.启动服务并执行一次性命令 5、扩展功能1.扩展指定服务的容器数量(需删除旧容器)2.暂停服务容器3.恢复暂停的服务容器4.查看服务容器的端口映射 注意事项5、扩展功能1.扩展指定服务的容器数量(需删除旧容器)2.暂停服务容器3.恢复暂停的服务容器4.查看服务容器的端口映射 注意事项

计算机系统 5G云计算 LINUX Docker及docker-conpose相关命令 一、Docker 常用命令 1、镜像管理 1.拉取镜像 docker pull <选项> <镜像名>:<标签>|<特定镜像版本的唯一标识符> 选项用途-a,–all-tags下载仓库中指定镜像名所有标签的镜像–disable-content-trust跳过镜像验证。默认Docker使用内容信任机制验证镜像的完整性–platform string如果注册表支持多平台镜像,可以指定平台(linux/amd64、windows/amd64)-q,–quit抑制详细输出。拉取完成后仅显示镜像ID。 2.列出本地镜像 docker images <选项> [仓库[:标签]] 选项用途-a,–all列出所有镜像(包括中间层镜像)–digests显示镜像的摘要信息-f,–filter根据条件过滤镜像列表常用过滤器:dangling=true:列出悬空镜像(未被任何容器使用镜像)label=<key>或label=<key>=<value>:根据标签过滤镜像before=<image>:列出在指定镜像之前创建的镜像since=<image>:列出在指定镜像之后创建的镜像–format使用Go模板格式化输出常用模板:{{.Repository}}:镜像仓库名称。{{.Tag}}:镜像标签。{{.ID}}:镜像ID。{{.Size}}:镜像大小。–no-trunc显示完整的镜像ID,不截断-q,–quite只显示镜像ID–help显示帮助信息 3.删除镜像 docker rmi <镜像ID或名称1> <镜像ID或名称2> <镜像ID或名称3> #可同时删除多个镜像 选项用途-f,–force强制删除镜像,即使有容器正在使用它(可能导致正在运行容器出现问题)–no-prune保留未被标记的父镜像(即中间层镜像)-a,–all删除所有未使用的镜像(悬空镜像)–help显示帮助信息 4.构建镜像(从 Dockerfile) docker build <选项> <Dockerfile路径> | URL | - #构建镜像默认当前所在目录 选项用途-f,–file指定Dockerfile的路径构建镜像-t,–tag为构建的镜像指定名称和标签–build-arg设置构建时的变量(在 Dockerfile 中使用 ARG 定义)–no-cache禁用缓存,从头开始构建镜像–pull总是尝试拉取基础镜像的最新版本–target指定多阶段构建中的某个阶段作为最终镜像–platform指定构建的目标平台(linux/amd64、linux/arm64)–label为镜像添加元数据标签–rm构建成功后删除中间容器(默认启用)-q,–quite静默模式,只输出镜像ID-o,–output将构建结果导出到指定目录–progress设置构建进度输出格式(auto、plain、tty)–secret传递敏感数据到构建过程中–ssh允许在构建过程中使用SSH密钥–network设置构建过程中的容器的网络模式(host、bridge)–add-host在构建过程中添加自定义主机到IP的映射–shm-size设置构建过程中容器的共享内存大小–ulimit设置构建过程中容器的资源限制–help显示帮助信息 5.推送镜像到仓库 docker push <选项> <镜像名>:<标签> 选项用途–disable-content-trust跳过镜像的内容信任验证(默认启用)-q,–quite静默模式,只输出镜像的摘要信息–help显示帮助信息 6.从 .tar 文件加载镜像 docker load -i FILE.tar #只能加载由 docker save 导出的 tar 文件 #与 docker import 的区别 docker load: 用于加载由 docker save 导出的镜像(包含完整的镜像历史和元数据) docker import: 用于从文件系统快照创建镜像(不包含历史记录和元数据) 选项用途-i,–input指定要加载的tar文件路径。可用<标准输入读取或cat+管道符输入-q,–quite静默模式,不显示加载过程中的输出信息–help显示帮助信息 7.将镜像保存为 .tar 文件 docker save -o FILE.tar IMAGE #可保存多个镜像到同一个tar文件内 #与 docker export 的区别 docker save: 保存的是镜像(包含完整的镜像历史和元数据)。 docker export: 保存的是容器的文件系统快照(不包含历史记录和元数据)。 选项用途-o,–output指定保存的tar文件路径及文件名–help显示帮助信息 8.搜索镜像 docker search TERM 选项用途-f,–filter根据条件过滤搜索结果常用过滤器:is-official:是否官方镜像is-automated:是否自动构建stars:镜像的星标数–format使用Go模板格式化输出–limit限制搜索结果的数量–no-trunc不截断输出,显示完整的镜像描述–help显示帮助信息 9.查看镜像构建历史 docker history IMAGE 选项用途–no-trunc不截断输出,显示完整的镜像描述-q,–quite静默模式,只输出镜像层ID–format使用Go模板格式化输出-H,–human以人类可读的格式显示镜像层大小(默认已启用)–help显示帮助信息 10.为镜像打标签或修改标签 docker tag SOURCE_IMAGE TARGET_IMAGE #与 docker commit 的区别 docker tag: 为现有镜像添加新标签,不创建新镜像 docker commit: 从容器的更改创建新镜像 2、容器管理 1.启动容器 docker run [选项] <镜像名> [command] [arg] #command:容器启动后执行的命令覆盖Dockerfile中的CMD #arg:传递给命令的参数 选项用途-d,–detach以分离模式(后台)运行容器–rm容器推出后自动删除容器-it以交互模式运行容器–name指定容器名称–network指定容器的网络模式(bridge、host、none)-p,–publish将容器端口映射到主机端口(主机端口:容器端口)–dns指定容器的DNS服务器-m,–memory限制容器的内存使用量–cpus限制容器使用的CPU数量–cpu-shares设置CPU权重(默认1024)–ulimit设置容器的资源限制(如文件描述符数量)-v,–volume挂在主机目录或卷到容器中–mount更灵活的挂载方式(支持卷、绑定挂载等)–tmpfs挂在临时文件系统到容器中-e,–env设置容器的环境变量–env-file从文件加载环境变量–user指定容器运行的用户–cap-add添加Linux能力(如SYS_ADMIN)–cap-drop移除Linux能力–security-opt设置安全选项(如seccomp配置文件)–log-driver指定日志驱动(如json-file、syslog)–log-opt设置日志驱动的选项(max-size,max-file)–restart设置容器的重启策略(no、on-failure、always)–entrypoint覆盖镜像的默认入口点–add-host添加自定义主机到IP的映射–help显示帮助信息 2.列出运行中的容器 docker ps 选项用途-a,–all显示所有容器,包括正在运行的和已停止的-f,–filter根据条件过滤容器。可使用多个过滤器–format使用Go模板格式化输出,同上images-n,–last显示最后创建的n个容器(包括所有状态)-l,–latest显示最新创建的容器(包括所有状态)-q,–quite仅显示容器ID-s,–size显示容器的大小(文件系统大小)–no-trunc不截断输出,显示完整的容器ID和命令–help显示帮助信息 3.启动/停止/重启容器 docker start <容器ID或名称> docker stop <容器ID或名称> docker restart <容器ID或名称> start选项用途-a,–attach附加到容器的标准输入、输出和错误流-i,–interactive附加到容器的标准输入(通常与-a一起用)–detach-keys设置从容器分离的快捷键(默认是Ctrl-p Ctrl-q)–help显示帮助信息 stop选项用途-t,–time设置停止容器的超时时间(默认10s),会先发送SIGTERM 信号,超时后再发送 SIGKILL 信号–help显示帮助信息 restart选项用途-t,–time设置停止容器的超时时间(默认10s),与docker stop相同–help显示帮助信息 4.在正在运行的容器中执行命令或与之交互 docker exec <选项> <容器ID或名称> docker exec -it <选项> <容器ID或名称> /bin/bash //进入容器终端 选项用途-d,–detach在后台运行命令(分离模式)-e,–env设置环境变量-i,–interactive保持标准输入(stdin)打开,即使没有附加-t,–tty分配一个伪终端-u,–user指定执行命令的用户名或UID-w,–workdir指定命令的工作目录–help显示帮助信息 5.查看容器日志 docker logs <容器ID或名称> 选项用途-f,–follow实时跟踪日志输出–tail显示日志的最后n行(默认显示所有日志)-t,–timestamps显示日志的时间戳–since先是从指定时间开始的日志(支持相对时间或绝对时间)–until显示到指定时间结束的日志(支持相对时间或绝对时间)-n,–max-count显示指定数量的日志行–details显示日志的额外详细信息(如日志来源)–help显示帮助信息 6.删除容器 docker rm <容器ID或名称> 选项用途-f,–force强制删除正在运行的容器(使用SIGKILL信号)-v,–volumes删除与容器关联的匿名卷-l,–link删除指定的链接(已弃用,不推荐使用)–help显示帮助信息 7.复制文件到容器 docker cp <本地路径> <容器名>:<容器路径> 选项用途-a,–archive以归档模式复制文件,保留文件的所有元信息(权限、所有权等)-L,–follow始终跟随符号链接(复制链接指向的实际文件或目录)–help显示帮助信息 8.查看容器详细信息 docker inspect <容器名> 选项用途-f,–format使用 Go 模板格式化输出{{.Architecture}}:查看容器架构-s,–size显示容器文件系统的总大小(仅适用于容器)–type指定要检查的对象类型(container、image、network、volume等)–help显示帮助信息 3、网络管理 1.查看网络列表 docker network ls [OPTIONS] 选项用途-f,–filter根据条件过滤网络-q,–quite仅显示网络 ID 2.创建自定义网络 docker network create [OPTIONS] NETWORK_NAME 选项用途-d,–driver指定网络驱动(bridge、overlay、host)默认bridge–subnet指定子网(CIDR格式)–gateway指定网关地址–ip-range指定IP地址范围–label为网络添加元数据标签 3.显示一个或多个网络的详细信息 docker network inspect [OPTIONS] NETWORK [NETWORK...] 选项用途-f,–format使用 Go 模板格式化输出 4.将容器连接到网络 docker network connect [OPTIONS] NETWORK CONTAINER 选项用途–ip指定容器的 IP 地址–alias为容器添加网络别名 5.将容器从网络断开连接 docker network disconnect [OPTIONS] NETWORK CONTAINER 选项用途-f,–force强制断开连接 6.删除所有未使用的网络 docker network prune [OPTIONS] 选项用途-f,–force强制断开连接–filter根据条件过滤网络 7.删除一个或多个网络 docker network rm NETWORK [NETWORK...] 4、数据卷管理 1.列出数据卷 docker volume ls [OPTIONS] 选项用途-f,–filter根据条件过滤卷-q,–quite仅显示卷名 2.删除未使用的数据卷 docker volume prune [OPTIONS] 选项用途-f,–force强制删除,无需确认–filter根据条件过滤卷 3.创建一个新的卷 docker volume create [OPTIONS] VOLUME_NAME 选项用途-d,-driver指定卷驱动(默认local)–label为卷添加元数据标签–opt指定驱动特定的选项(device、o) 4.显示一个或多个卷的详细信息 docker volume inspect [OPTIONS] VOLUME [VOLUME...] 选项用途-f,–format使用 Go 模板格式化输出 5.删除一个或多个卷 docker volume rm VOLUME [VOLUME...] 5、系统与维护 1.清理未使用的镜像、容器、网络 docker system prune [OPTIONS] 选项用途-a,–all删除所有未使用的资源(包括未使用的镜像和构建缓存)–volumes删除未使用的卷-f,–force强制删除,无需确认–filter根据条件过滤资源 2.显示 Docker 磁盘使用情况 docker system df [OPTIONS] #输出字段: TYPE: 资源类型(如镜像、容器、卷、构建缓存等)。 TOTAL: 资源总数。 ACTIVE: 正在使用的资源数量。 SIZE: 资源占用的磁盘空间。 RECLAIMABLE: 可回收的磁盘空间。 3.显示 Docker 守护进程的实时事件 docker system events [OPTIONS] 选项用途-f,–filter根据条件过滤事件–since显示从指定时间开始的事件—until显示到指定时间为止的事件 4.显示 Docker 系统信息 docker system info [OPTIONS] #输出内容: Docker 版本信息 容器和镜像的数量 存储驱动和文件系统信息。 网络和日志配置。 系统资源(如 CPU、内存)信息。 5.实时查看容器资源占用 docker stats [OPTIONS] [CONTAINER...] #输出字段 字段名称 说明 CONTAINER ID 容器的 ID。 NAME 容器的名称。 CPU % 容器使用的 CPU 百分比。 MEM USAGE / LIMIT 容器使用的内存量及内存限制。 MEM % 容器使用的内存百分比。 NET I/O 容器的网络输入/输出量。 BLOCK I/O 容器的块设备输入/输出量。 PIDS 容器中的进程数。 选项用途-a,–all显示所有容器(包括未运行的容器)的统计信息–format使用 Go 模板格式化输出–no-stream仅显示一次统计信息,而不是实时更新–no-trunc显示完整的输出(不截断)–help显示帮助信息 6.查看 Docker 系统信息 docker info [OPTIONS] #与docker system info功能完全一致 7.查看 Docker 版本 docker version [OPTIONS] #输出内容 docker version 的输出包含以下两部分: #客户端信息(Client): Version: Docker 客户端版本。 API version: 客户端使用的 Docker API 版本。 Go version: 编译 Docker 客户端使用的 Go 语言版本。 Git commit: Docker 客户端的 Git 提交哈希。 Built: Docker 客户端的构建时间。 OS/Arch: 客户端运行的操作系统和架构。 Context: Docker 上下文(如 default)。 #服务器信息(Server): Version: Docker 服务器(守护进程)版本。 API version: 服务器使用的 Docker API 版本。 Go version: 编译 Docker 服务器使用的 Go 语言版本。 Git commit: Docker 服务器的 Git 提交哈希。 Built: Docker 服务器的构建时间。 OS/Arch: 服务器运行的操作系统和架构。 Experimental: 是否启用了实验性功能。 Kernel Version: 服务器的内核版本。 OSType: 服务器的操作系统类型(如 linux)。 Architecture: 服务器的架构(如 x86_64)。 Docker Root Dir: Docker 的根目录路径。 Index Server Address: Docker Registry 的地址(如 index.docker.io/v1/)。 选项用途-f,–format使用 Go 模板格式化输出–help显示帮助信息 二、Docker Compose 常用命令 1、基本操作 1.启动所有服务 docker-compose up [OPTIONS] [SERVICE...] 选项用途-d,–detach在后台运行容器( detached 模式)–env-file指定环境变量文件–build启动前重新构建镜像–no-build不构建镜像,即使镜像缺失–force-recreate强制重新创建容器,即使配置未更改–no-recreate如果容器已存在,则不重新创建–no-deps不启动依赖的服务–scale指定服务的实例数量(如 web=3)–abort-on-container-exit如果有容器退出,则停止所有容器–remove-orphans删除未在 docker-compose.yml中定义的容器–exit-code-from返回指定服务的退出代码-t,–timeout设置容器停止的超时时间(默认为 10 秒)–quite-pull拉取镜像时不显示进度信息–renew-anon-volumes重新创建匿名卷,而不是复用–no-log-prefix不显示日志前缀(容器名称)–no-color禁用彩色输出–help显示帮助信息并退出 2.停止服务并删除容器 docker-compose down [OPTIONS] 选项用途–rmi删除镜像可选值:all:删除所有镜像。local:仅删除未标记的镜像-v,–volumes删除与容器关联的命名卷和匿名卷–remove-orphans删除未在 docker-compose.yml 中定义的容器-t,–timeout设置停止容器的超时时间(默认为 10 秒)–help显示帮助信息 3.启动已存在的服务 docker-compose start [OPTIONS] [SERVICE...] SERVICE: 指定要启动的服务名称(在 docker-compose.yml 中定义)。如果未指定,则启动所有已停止的服务。 4.停止运行中的服务 docker-compose stop [OPTIONS] [SERVICE...] SERVICE: 指定要停止的服务名称(在 docker-compose.yml 中定义)。如果未指定,则停止所有正在运行的服务。 5.重启服务 docker-compose restart [OPTIONS] [SERVICE...] SERVICE: 指定要重启的服务名称(在 docker-compose.yml 中定义)。如果未指定,则重启所有正在运行的服务。 2、服务管理 1.查看所有服务的状态 docker-compose ps [OPTIONS] [SERVICE...] 选项用途-a,–all显示所有容器,包括已停止的容器-q,–quite仅显示容器 ID–services显示服务的名称–filter根据条件过滤容器(如 status=running)–help显示帮助信息 2.查看所有服务的日志 docker-compose logs [OPTIONS] [SERVICE...] 选项用途-f,–follow实时跟踪日志输出–tail显示最后 N 行日志(默认为所有日志)-t,–timestamps显示日志的时间戳–no-color禁用彩色输出–no-log-prefix不显示日志前缀(容器名称)–since显示从指定时间开始的日志(如 --since 1h)–until显示到指定时间为止的日志(如 --until 2023-10-01)–help显示帮助信息 3.构建或重新构建服务的镜像 docker-compose build [OPTIONS] [SERVICE...] 选项用途–build-arg设置构建参数(如 --build-arg VAR=value)–no-cache构建时不使用缓存–pull始终尝试拉取最新版本的基础镜像-q,–quite静默模式,仅显示构建结果–force-rm强制删除中间容器–memory设置构建时的内存限制(如 --memory 512m)–shm-size设置 /dev/shm 的大小(如 --shm-size 1g)–parallel并行构建多个服务–help显示帮助信息 4.在指定服务的容器中执行命令 docker-compose exec [OPTIONS] SERVICE COMMAND [ARGS...] 选项用途-d,–detach在后台运行命令( detached 模式)–privileged以特权模式运行命令-u,–user以指定用户身份运行命令-T禁用伪终端(TTY)–index指定服务的实例索引(如 --index=1)-e,–env设置环境变量-w,–workdir设置命令的工作目录–help显示帮助信息并退出 5.拉取服务依赖的镜像 docker-compose pull [OPTIONS] [SERVICE...] 选项用途–ignore-pull-failure忽略拉取失败的镜像,继续拉取其他镜像–parallel并行拉取多个服务的镜像-q,–quite静默模式,仅显示拉取结果–include-deps同时拉取依赖服务的镜像–no-parallel禁用并行拉取–help显示帮助信息 3、镜像与容器 1.列出所有服务使用的镜像 docker-compose images [OPTIONS] [SERVICE...] 2.删除已停止的服务容器 docker-compose rm [OPTIONS] [SERVICE...] 选项用途-f,–force强制删除容器,无需确认-v,–volumes删除与容器关联的匿名卷-s,–stop先停止容器,再删除容器–help显示帮助信息 3.查看服务容器的进程 docker-compose top [OPTIONS] [SERVICE...] 4、配置文件与环境 1.验证和查看 docker-compose.yml 文件的配置 docker-compose config [OPTIONS] 选项用途–services显示服务名称–volumes显示卷配置–hash显示配置的哈希值(适用于单个服务)–resolve-image-digests解析镜像的摘要(digest)–no-interpolate禁用环境变量插值-q,–quite仅显示配置内容,不显示警告信息–format设置输出格式(如 json、yaml)–help显示帮助信息 2.启动服务并执行一次性命令 docker-compose run [OPTIONS] SERVICE [COMMAND] [ARGS...] 选项用途-d,–detach在后台运行容器( detached 模式)–name为容器指定一个名称–entrypoint覆盖默认的入口点(entrypoint)-e,–env设置环境变量-u,–user以指定用户身份运行命令–no-deps不启动依赖的服务–rm运行后自动删除容器-p,–publish发布容器的端口到宿主机–service-ports启用服务的端口映射-T禁用伪终端(TTY)-w,–workdir设置命令的工作目录–help显示帮助信息 5、扩展功能 1.扩展指定服务的容器数量(需删除旧容器) docker-compose scale [OPTIONS] SERVICE=NUM [SERVICE=NUM...] 2.暂停服务容器 docker-compose pause [OPTIONS] [SERVICE...] 3.恢复暂停的服务容器 docker-compose unpause [OPTIONS] [SERVICE...] 4.查看服务容器的端口映射 docker-compose port [OPTIONS] SERVICE PRIVATE_PORT 选项用途–protocol指定端口协议(tcp 或 udp),默认为 tcp–index指定服务的实例索引(如 --index=1)–help显示帮助信息 注意事项 Docker Compose V2 使用 docker compose(无连字符),V1 使用 docker-compose(带连字符)。 容器的端口到宿主机 | | --service-ports | 启用服务的端口映射 | | -T | 禁用伪终端(TTY) | | -w,–workdir | 设置命令的工作目录 | | --help | 显示帮助信息 | 5、扩展功能 1.扩展指定服务的容器数量(需删除旧容器) docker-compose scale [OPTIONS] SERVICE=NUM [SERVICE=NUM...] 2.暂停服务容器 docker-compose pause [OPTIONS] [SERVICE...] 3.恢复暂停的服务容器 docker-compose unpause [OPTIONS] [SERVICE...] 4.查看服务容器的端口映射 docker-compose port [OPTIONS] SERVICE PRIVATE_PORT 选项用途–protocol指定端口协议(tcp 或 udp),默认为 tcp–index指定服务的实例索引(如 --index=1)–help显示帮助信息 注意事项 Docker Compose V2 使用 docker compose(无连字符),V1 使用 docker-compose(带连字符)。容器和数据卷的删除需谨慎,避免数据丢失。
标签:

linux-docker及docker-compose相关命令由讯客互联创业栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“linux-docker及docker-compose相关命令