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

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

相关推荐
kaoa0002 分钟前
Linux入门攻坚——41、Linux集群系统入门-lvs(2)
linux·运维
阿秋.1228 分钟前
Ansible运维实战-自动化安装nginx
linux·运维·服务器·自动化·ansible
两张不够花9 分钟前
ansible自动化运维(三)jinja2模板&&roles角色管理
运维·自动化·ansible
运维小文9 分钟前
ansible安装和常用模块的使用
linux·运维·自动化·ansible·devops
明明跟你说过13 分钟前
在CentOS 7中安装与配置【Ansible】的详细指南
linux·运维·centos·ansible
两张不够花14 分钟前
ansible自动化运维(二)playbook模式详解
运维·自动化·ansible
散修-小胖子19 分钟前
MySQL常用运维操作(二):grant赋权语句
运维
明明跟你说过36 分钟前
Jenkins:持续集成与持续部署的利器
云原生·容器·jenkins·devops
曦云沐41 分钟前
如何在 Docker 中查看日志?
docker
社畜码农且逊1 小时前
Ubuntu22.04搭建FTP服务器保姆级教程
linux·运维·服务器