docker命令

目录

  • [docker build](#docker build)
  • wget
  • [docker run](#docker run)
  • [docker compose](#docker compose)
    • [为什么docker compose比docker build 和run快很多?](#为什么docker compose比docker build 和run快很多?)

docker build

bash 复制代码
docker build -t mineru:latest

docker build 命令是 Docker 的核心命令之一,用于从 Dockerfile 构建新的 Docker 镜像。

docker build:这是 Docker 构建镜像的命令。

-t:这是指定标签(tag)的选项。在 Docker 中,标签用于区分不同的镜像。如果不指定标签,Docker 会默认使用 作为标签。

mineru:latest:这是指定的标签名称和标签值。在这里,mineru 是镜像的名称,latest 表示这是一个最新版本的镜像。在 Docker 中,latest 标签通常用来表示最新版本的镜像,但你也可以使用其他标签来区分不同版本的镜像。

(没有指定路径):在 -t mineru:latest 之后没有指定路径,这意味着 Docker 会默认使用当前目录(.)作为构建上下文。构建上下文是指 Docker 在构建镜像时需要的文件集合,通常是包含 Dockerfile 的目录。

因为没有指定路径,默认使用当前目录,而我的目录啥也没有,所以会找不到上下文。

原来是忘记复制命令最后还有一个点,这个点用来表示指定路径(当前目录)

正常构建镜像应该是

wget

bash 复制代码
wget https://github.com/opendatalab/MinerU/raw/master/Dockerfile

wget 是一个非常流行的命令行工具,用于从网络上下载文件。

docker run

bash 复制代码
docker run hello-world

检查本地是否已有 hello-world 镜像:Docker 会检查本地是否已经下载了 hello-world 这个镜像。如果没有,它会尝试从 Docker Hub 下载。

下载镜像:如果本地没有 hello-world 镜像,Docker 会从 Docker Hub(默认的 Docker 镜像仓库)下载这个镜像。

创建容器:下载完镜像后,Docker 会使用这个镜像创建一个新的容器。

运行容器:容器创建后,Docker 会运行这个容器。

执行命令:对于 hello-world 这个镜像,它会执行一个简单的程序,打印出一条欢迎信息,并显示一些关于 Docker 的信息。

退出容器:hello-world 程序执行完毕后,容器会退出。

清理资源:Docker 会清理容器的运行环境,但由于 hello-world 容器没有改变任何状态,所以实际上没有太多需要清理的。

docker compose

bash 复制代码
docker compose -f docker-compose.yml up -d

docker compose:

这是 Docker 的命令行工具,用于管理和运行多容器 Docker 应用。docker compose 是 Docker 的一个子命令,允许用户通过定义的配置文件来启动和管理多个 Docker 容器。

-f docker-compose.yml:

-f 选项用于指定 Docker Compose 文件的路径。docker-compose.yml 是默认的文件名,通常用于定义服务、网络和卷等配置。如果你的文件名不同,或者文件不在当前目录,你可以通过这个选项指定文件的路径。-f就是file,文件路径

up:

up 是一个 Docker Compose 命令,用于构建、(重新)创建、启动和附加到服务的容器。它会根据 docker-compose.yml 文件中的定义来启动所有指定的服务。

-d:

-d 选项表示"分离模式"(detached mode)。在这个模式下,Docker Compose 会在后台运行容器,而不是将输出流直接显示在终端中。这样,你可以继续使用终端而不被容器的输出信息所干扰。

为什么docker compose比docker build 和run快很多?

本地缓存的利用、并行启动、

相关推荐
Decay__10 小时前
VMware 安装 SQL Server 双节点 AlwaysOn 可用性组教程 —— WSFC、AG 与侦听器完整部署(系列核心篇)
运维·数据库·sql·mysql·架构
测试界的小码农10 小时前
【Linux 命令实战(06):Linux 文件权限管理,掌握 chmod、chown、chgrp】
linux·运维·服务器
陈希12311 小时前
负载均衡与高可用:LVS、HAProxy、Keepalived 实战
运维·负载均衡·lvs
SQL7715 小时前
IT运维发展史,一部宏伟史诗
运维·运维发展史
分布式存储与RustFS16 小时前
Terraform 状态文件老在本地丢、并发还撞锁:把 state 锁进 RustFS
运维·云原生·开源·对象存储·分布式存储·s3·性能基准
csdn_aspnet16 小时前
macOS 10 、Docker 玩轉 MySQL
运维·mysql·macos·docker·容器·mac
对象存储与RustFS17 小时前
Jenkins 的构建产物别堆在控制器磁盘:用 RustFS 当它的 S3 工件仓库
后端·docker·云原生
爱和冰阔落18 小时前
【Linux网络】TCP 半包粘包怎么解决?从长度报头、JSON 拆包到网络计算器完整实战
linux·运维·网络·tcp/ip
无奈笑天下1 天前
银河麒麟上nproc命令教程详解
linux·运维·服务器
威嵌神州1 天前
嵌入式排故实录:高并发下串口数据“超时丢包”的根因剖析与架构优化
运维·服务器·嵌入式硬件·缓存