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

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

相关推荐
柏成2 分钟前
写给前端仔仔的docker实战
前端·docker·面试
czhc114007566332 分钟前
LINUX 820 shell:shift,expect
linux·运维·excel
咕噜签名分发冰淇淋1 小时前
签名应用APP分发平台的微服务化部署是什么?其有哪些优势?
java·运维·微服务
望获linux1 小时前
【实时Linux实战系列】基于实时Linux的物联网系统设计
linux·运维·服务器·chrome·php
进击的阿尔法猿2 小时前
docker
运维·docker·容器
北京阿法龙科技有限公司2 小时前
AR 虚实叠加技术在工业设备运维中的实现流程方案
运维·ar
刘一说2 小时前
CentOS 系统 Java 开发测试环境搭建手册
java·linux·运维·服务器·centos
iceland93 小时前
kubeadm方式部署k8s集群
云原生·容器·kubernetes
木易双人青9 小时前
01-Docker-简介、安装与使用
运维·docker·容器
专注API从业者10 小时前
Python + 淘宝 API 开发:自动化采集商品数据的完整流程
大数据·运维·前端·数据挖掘·自动化