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快很多?

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

相关推荐
少妇的美梦12 小时前
logstash教程
运维
容器魔方12 小时前
Bloomberg 正式加入 Karmada 用户组!
云原生·容器·云计算
chen94512 小时前
k8s集群部署vector日志采集器
运维
chen94512 小时前
aws ec2部署harbor,使用s3存储
运维
muyun280017 小时前
Docker 下部署 Elasticsearch 8 并集成 Kibana 和 IK 分词器
elasticsearch·docker·容器
東雪蓮☆17 小时前
深入理解 LVS-DR 模式与 Keepalived 高可用集群
linux·运维·服务器·lvs
qq_2642208917 小时前
LVS负载均衡群集和LVS+Keepalived群集
运维·负载均衡·lvs
乌萨奇也要立志学C++18 小时前
【Linux】进程概念(二):进程查看与 fork 初探
linux·运维·服务器
雨落Liy18 小时前
Nginx 从入门到进阶:反向代理、负载均衡与高性能实战指南
运维·nginx·负载均衡
Nazi618 小时前
k8s的dashboard
云原生·容器·kubernetes