初学者必备:Docker 各种命令详解

简介

Docker 是一种轻量级的虚拟化技术,可以帮助开发者在不同的环境中快速构建、测试和部署应用程序。Docker 可以将应用程序及其依赖项打包成一个容器,并在任何 Docker 主机上运行。在本文中,我们将详细介绍 Docker 的各种命令,帮助初学者快速上手使用 Docker。

安装 Docker

在开始学习 Docker 命令之前,我们需要先安装 Docker。以下是在 Ubuntu 系统上安装 Docker 的步骤:

  1. 更新软件包列表:sudo apt-get update
  2. 安装 Docker 前的依赖项:sudo apt-get install apt-transport-https ca-certificates curl software-properties-common
  3. 添加 Docker 的官方 GPG 密钥:curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
  4. 添加 Docker 的 APT 仓库:sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
  5. 再次更新软件包列表:sudo apt-get update
  6. 安装 Docker:sudo apt-get install docker-ce

安装完成后,我们可以通过运行 docker version 命令来检查 Docker 是否安装成功。

Docker 命令详解

1. docker run

docker run 命令用于在容器中运行一个命令。以下是 docker run 命令的基本用法:

------ --- --------- ----- --------- --------

其中,OPTIONS 为可选参数,IMAGE 为要运行的镜像名称,COMMAND 为要在容器中运行的命令,ARG 为命令的参数。

以下是一些常用的 docker run 命令示例:

  • 运行一个 Ubuntu 容器并进入交互式终端:docker run -it ubuntu
  • 运行一个 Nginx 容器并将主机的 80 端口映射到容器的 80 端口:docker run -d -p 80:80 nginx
  • 运行一个 Node.js 容器并将主机的当前目录挂载到容器的 /usr/src/app 目录:docker run -v $(pwd):/usr/src/app node

2. docker ps

docker ps 命令用于列出当前正在运行的容器。以下是 docker ps 命令的基本用法:

------ -- ---------

其中,OPTIONS 为可选参数,例如 -a 参数可以列出所有容器,包括已经停止的容器。

以下是一些常用的 docker ps 命令示例:

  • 列出当前正在运行的容器:docker ps
  • 列出所有容器,包括已经停止的容器:docker ps -a
  • 列出最近创建的 5 个容器:docker ps -n 5

3. docker stop

docker stop 命令用于停止一个正在运行的容器。以下是 docker stop 命令的基本用法:

------ ---- --------- --------- --------------

其中,OPTIONS 为可选参数,例如 -t 参数可以指定停止容器的超时时间。CONTAINER 为要停止的容器名称或容器 ID。

以下是一些常用的 docker stop 命令示例:

  • 停止名为 my-nginx 的容器:docker stop my-nginx
  • 停止所有正在运行的容器:docker stop $(docker ps -q)

4. docker rm

docker rm 命令用于删除一个或多个容器。以下是 docker rm 命令的基本用法:

------ -- --------- --------- --------------

其中,OPTIONS 为可选参数,例如 -f 参数可以强制删除正在运行的容器。CONTAINER 为要删除的容器名称或容器 ID。

以下是一些常用的 docker rm 命令示例:

  • 删除名为 my-nginx 的容器:docker rm my-nginx
  • 删除所有已经停止的容器:docker rm $(docker ps -a -q)

5. docker build

docker build 命令用于构建一个新的镜像。以下是 docker build 命令的基本用法:

------ ----- --------- ---- - --- - -

其中,OPTIONS 为可选参数,例如 -t 参数可以指定构建的镜像名称和标签。PATHURL- 为 Dockerfile 的路径或 URL,或者使用 - 参数来从标准输入中读取 Dockerfile。

以下是一些常用的 docker build 命令示例:

  • 在当前目录下构建一个名为 my-nginx 的 Nginx 镜像:docker build -t my-nginx .
  • 使用指定的 Dockerfile 构建一个名为 my-node 的 Node.js 镜像:docker build -t my-node -f Dockerfile.node .

总结

本文介绍了 Docker 的各种命令,包括 docker rundocker psdocker stopdocker rmdocker build。这些命令是使用 Docker 的基础,希望本文可以帮助初学者快速上手使用 Docker,并在日常开发中提高效率。

来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/658e08baeb4cecbf2d3deae0


猜你喜欢

  • 无障碍键盘操作技巧及其应用于 Web 浏览器的实现方法

    在现代社会中,随着互联网的发展,Web 应用程序已经成为人们日常生活中不可或缺的一部分。然而,对于一些身体上存在障碍的人来说,使用鼠标进行网页浏览和操作可能会带来困难。

    10 个月前
  • 使用 Server-Sent Events 实现跨域请求

    在前端开发中,跨域请求是一个常见的问题。为了解决这个问题,我们通常使用 JSONP 或者 CORS 等技术来实现跨域请求。但是这些技术都有一些限制,比如 JSONP 只支持 GET 请求,而 CORS...

    10 个月前
  • Next.js 项目使用 styled-components 时样式失效的问题解决方法

    在前端开发中,我们经常使用 styled-components 来管理项目的样式,而 Next.js 则是一个非常流行的 React 框架。然而,在使用这两个工具的时候,我们可能会遇到样式失效的问题。

    10 个月前
  • CSS Flex 搞定字符溢出 —— 版本分享方案

    在前端开发中,字符溢出是一个常见的问题。当我们的文本内容超出容器的宽度时,就会出现字符溢出的情况。这不仅会影响页面的美观度,还可能对用户体验产生不良影响。为了解决这个问题,我们可以使用 CSS Fle...

    10 个月前
  • 如何解决 MongoDB 安装完成后找不到服务

    背景 MongoDB 是一种非关系型数据库,被广泛应用于 Web 应用程序的后端开发。在使用 MongoDB 时,有时会出现安装完成后无法找到服务的情况,这将导致无法启动 MongoDB,从而使应用程...

    10 个月前
  • Koa 中如何使用 Router 实现路由控制?

    路由控制是 Web 开发中的一个重要环节,它决定了客户端请求如何被服务器处理。在 Koa 中,我们可以使用 Router 来实现路由控制。本文将介绍如何在 Koa 中使用 Router 实现路由控制,...

    10 个月前
  • 类型检查工具 TypeScript 与 Jest 结合使用的技巧分享

    前端开发中,我们常常会遇到一些类型错误导致的问题。为了避免这类问题的出现,我们可以使用 TypeScript 这样的类型检查工具。但是,使用 TypeScript 并不能完全避免问题的出现。

    10 个月前
  • SASS 中的注释方法及使用场景

    在前端开发中,注释是一个非常重要的部分,它可以帮助我们更好地理解代码,也可以帮助其他开发者更好地理解我们的代码。在 SASS 中,注释同样是非常重要的,因为它可以帮助我们更好地组织和管理我们的代码,提...

    10 个月前
  • Hapi 框架中如何使用 Hapi-Compress 插件进行压缩处理?

    在现代 Web 应用中,性能是一个非常重要的问题。其中一个关键因素是页面的加载速度。为了加快页面加载速度,我们可以使用压缩算法来减小页面的大小。在 Hapi 框架中,我们可以使用 Hapi-Compr...

    10 个月前
  • Sequelize 在 Sails.js 中的应用实践

    在 Sails.js 中,Sequelize 是一种常见的 ORM(对象关系映射)库,它可以帮助我们更方便地操作数据库。本文将介绍 Sequelize 在 Sails.js 中的应用实践,并提供详细的...

    10 个月前
  • Mongoose 路由及 Controller 最佳实践

    前言 Mongoose 是 Node.js 中非常流行的一种 ODM(Object Document Mapping)工具,它可以帮助我们更方便地与 MongoDB 进行交互。

    10 个月前
  • Redis 安装让人头疼?别着急,这里有最易操作的教程

    前言 Redis 是一个开源的内存数据结构存储系统,它可以用作数据库、缓存和消息代理。在前端开发中,我们经常会用到 Redis 来存储一些临时数据或者缓存数据等。但是,很多人在安装 Redis 的时候...

    10 个月前
  • 解决 Express.js 中文件上传的 IO 问题

    在 Web 开发中,文件上传是常见的需求之一。而 Express.js 作为流行的 Node.js Web 框架,也提供了文件上传的中间件 multer。然而,在上传大文件时,可能会遇到 IO 问题,...

    10 个月前
  • 在 ES9 中使用 JSON.stringify 的 “space” 参数进行格式化

    在前端开发中,我们经常需要将 JavaScript 对象转换为 JSON 字符串。而 JSON.stringify() 方法是一个常用的工具,它可以将 JavaScript 对象转换为 JSON 字符...

    10 个月前
  • Performance Optimization: 如何确保应用程序的可扩展性?

    前言 前端应用程序的可扩展性是指应用程序在不同场景下(如访问量增加,数据量增加等)仍能保持稳定的性能。随着互联网的快速发展,越来越多的公司开始转向在线业务,并且越来越多的用户开始使用在线服务,因此,确...

    10 个月前
  • 如何使用 Enzyme 测试 React 组件的数据传递

    在 React 开发中,组件的数据传递是非常重要的一部分。为了确保组件能够正确地传递数据,我们需要进行测试。Enzyme 是 React 的一个测试工具,它可以帮助我们轻松地测试组件的数据传递。

    10 个月前
  • 如何在 Deno 中构建基于 RESTful API 的 Web 应用

    RESTful API 是一种基于 HTTP 协议的 API 设计风格,它具有简洁、灵活、易于扩展等优点,已经成为现代 Web 应用开发的标准。Deno 是一个新兴的 JavaScript 运行时环境...

    10 个月前
  • RxJS + Vue.js 实现响应式编程实践

    响应式编程是一种编程模式,它可以让我们更加方便地处理异步数据流,同时可以提高代码的可读性和可维护性。RxJS 是一个流式编程库,可以帮助我们实现响应式编程。与此同时,Vue.js 也是一个流行的前端框...

    10 个月前
  • GraphQL 与 DDD 实践

    前言 GraphQL 是一种用于 API 的查询语言,它可以让客户端精确地获取需要的数据,避免了传统 RESTful API 中的 over-fetching 和 under-fetching 的问题...

    10 个月前
  • TypeScript 的 async 方法和 Promise:如何正确使用

    在前端开发中,异步编程是一项极为重要的技能。为了简化异步编程,TypeScript 引入了 async 方法和 Promise。在本文中,我们将深入探讨 TypeScript 中的 async 方法和...

    10 个月前

相关推荐

    暂无文章