当前位置: 首页 > news >正文

Docker基本操作命令(一)

 

Docker 是一个开源的应用容器引擎,允许开发者打包应用以及其依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。主要功能是为开发者提供一个简单、轻量级且一致的工作环境,无论在开发环境、测试环境还是生产环境中,都能确保应用表现一致。它通过容器化技术,实现应用的快速部署、扩展和管理。

Docker 使用客户端-服务器架构,Docker 客户端与 Docker 守护进程通信,Docker 守护进程负责构建、运行和分发容器。用户可以通过命令行界面与 Docker 交互,执行各种操作,如构建镜像、启动容器、管理镜像和容器等。

Docker 技术在云计算、微服务架构和持续集成/持续部署(CI/CD)领域中得到了广泛应用。

以下是记录Docker的基本指令,便于自查,持续更新,觉得不错的小伙伴可以收藏,可以点赞,请大家多多支持!

1.Docker启动命令

启动 Docker 服务的命令取决于你使用的操作系统,是Linux,windows,还是max,每个操作系统肯定存在差异。

1.1 在 Linux 上启动 Docker

对于使用 systemd 的 Linux 发行版,如 Ubuntu、Debian、CentOS、Fedora 等,你可以使用以下命令来Docker来操作启动相关服务命令。

  • 启动docker
systemctl start docker
  • 停止docker
systemctl stop docker
  • 重启docker
systemctl restart docker
  • 开机启动
systemctl enable docker
  • 查看docker运行状态 
systemctl status docker

1.2 在 macOS 或 Windows 上启动 Docker

对于 Docker Desktop for Mac 和 Docker Desktop for Windows 用户,Docker 通常通过图形用户界面(GUI)管理。只需启动 Docker 应用即可,无需使用命令行。

安装Docker图形化工具后:

  • 在 macOS 上,你可以通过在应用程序菜单中找到 Docker 并点击打开。
  • 在 Windows 上,可以通过开始菜单搜索 Docker 并点击启动,或者在系统托盘中找到 Docker 图标并双击。

注意事项

  • 确保你有足够的权限来启动 Docker 服务(可能需要 sudo)。
  • 在某些配置中,Docker 可能已经被设置为在系统启动时自动启动。
  • 如果你在使用 Docker Desktop,确保已经安装了最新版本,并且所有设置都是正确的。

 2 Docker帮助命令

Docker 提供了多种帮助命令,可以帮助用户了解如何使用 Docker 及其各种命令。以下是一些常用的 Docker 帮助命令:

  • 查看docker的总体帮助文档

docker help 命令提供了关于 Docker 命令行界面的基本使用信息。当在命令行中输入 docker help 并执行,它会列出 Docker 程序的主要命令,并提供关于如何使用这些命令的简要说明
 

docker --help
  • 查看docker命令帮助文档

要获取关于特定 Docker 命令的详细信息,你可以在 docker 后面加上该命令名和 --help。例如,要获取 docker ps 命令的帮助信息,你可以执行:
 

docker 具体命令 --helpdocker ps --help

这将输出 docker ps 命令的使用格式和可用选项的详细说明

3.Docker 信息命令

    3.1 命令说明

Docker info 命令在 Docker 中用于显示有关当前 Docker 宿主机的环境和配置的信息。这个命令提供了大量的细节,包括 Docker 版本、操作系统、内核版本、驱动程序、容器、镜像和存储卷的数量,以及更多关于 Docker 守护进程状态的信息。docker info 是一个非常有用的命令,可以提供关于 Docker 宿主机的全面信息,有助于日常管理和故障排查。
 

docker logs [OPTIONS] CONTAINER

参数说明

  • CONTAINER:容器的 ID 或名称。

选项说明

  • -f, --follow:跟踪日志输出,类似于 tail -f
  • -t, --timestamps:在日志中显示时间戳。
  • --tail:仅显示最新的 N 条日志(例如 --tail="all" 显示所有日志)。

 示例:

# 查看容器日志
docker logs container_id# 查看带有时间戳的容器日志
docker logs -t container_id# 实时跟踪容器日志
docker logs -f container_id# 查看容器的最后几条日志
docker logs --tail=5 container_id# 查看从特定时间点开始的日志
docker logs --since="2021-03-15T12:00:00" container_id

3.2 使用场景

  • 故障排查:当遇到 Docker 相关问题时,docker info 提供的详细信息可以帮助你或 Docker 社区更快地定位问题。
  • 系统管理:了解系统资源使用情况和 Docker 配置,有助于进行系统维护和优化。
  • 环境确认:在部署新应用或扩展现有服务前,确认 Docker 环境的配置和状态。

该命令使用时注意事项:

  • 容器必须处于运行状态,你才能查看其日志。
  • 日志默认是从容器的 stdout 和 stderr 输出的。
  • 如果容器停止了,你仍然可以查看其历史日志。
  • 使用 -f 选项时,你可以通过发送 Ctrl+C 来停止跟踪日志。

4.Docker 登陆与登出命令

要与 Docker Hub 或其他 Docker 仓库进行交互,你需要使用 Docker 登录和登出命令

4.1 登录 Docker 仓库

 登陆到一个Docker镜像仓库,如果未指定镜像仓库地址,默认为官方仓库 Docker Hub

docker login [OPTIONS] [SERVER]

 参数说明

  • [SERVER]:仓库地址,如 Docker Hub 的地址是 docker.io

选项说明

  • -u 或 -username:你的 Docker 用户名。
  • -p 或 -password:你的 Docker 密码。

docker login -u username -p password

在执行该命令后,Docker 会提示你输入用户名和密码 

4.2 登出 Docker 仓库

登出一个Docker镜像仓库,如果未指定镜像仓库地址,默认为官方仓库 Docker Hub

docker logout [SERVER]

参数说明

  • [SERVER]:仓库地址,如果未指定,默认是 Docker Hub。
#登出Docker Hub
docker logout

注意事项

  • 登录信息(用户名和密码)在 Docker 的认证存储中是加密保存的。
  • 如果你需要为不同的 Docker 仓库服务配置不同的凭据,可以为每个仓库执行 docker login 命令。
  • 登出操作不会影响已经保存的登录凭据,只是结束了当前的会话。
  • 如果你使用了 Docker Desktop,登录状态会在 Docker Desktop 的 GUI 中显示,也可以在那里登出。
     

5. Docker版本

如果你想要查看详细的版本信息,包括客户端和服务器的所有独立组件的版本号,可以使用:

docker version

这将显示包括 Docker 社区版引擎、客户端(Client)和服务器(Server)的版本信息,如 API 版本、Go 版本、Git 提交 ID、构建时间、操作系统和架构等。

如果你只需要某个特定部分的信息,可以使用 --format 选项来格式化输出。例如,要只输出服务器的版本信息,可以使用:

# 仅显示 Docker 服务器的版本号
docker version --format '{{.Server.Version}}'

 也可以使用以下命令查看 Docker 的版本信息

docker --version

6.最后

感谢大家,请大家多多支持!

相关文章:

Docker基本操作命令(一)

Docker 是一个开源的应用容器引擎,允许开发者打包应用以及其依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。主要功能是为开发者提供一个简单…...

PGMP-02项目集管理绩效域

目录 1.概要 2.defintions定义 3.Program Management Performance Domain interactions 交互 4. Organizational Strategy, Portfolio Management, and Program Management Linkage 5. Portfolio and Program Distinctions 区别 6. Program and Project Distinctions区别 …...

CAN(Controller Area Network)总线的仲裁机制

CAN(Controller Area Network)总线的仲裁机制是其核心特性之一,它确保了在多节点环境中数据能够高效、公正地传输。以下是对CAN仲裁机制的详细解释和介绍: 一、仲裁机制概述 在CAN总线网络中,各个节点地位平等&#…...

计算机毕业设计 | SpringBoot 房屋租赁网 租房买房卖房平台(附源码)

1,绪论 1.1 背景调研 在房地产行业持续火热的当今环境下,房地产行业和互联网行业协同发展,互相促进融合已经成为一种趋势和潮流。本项目实现了在线房产平台的功能,多种技术的灵活运用使得项目具备很好的用户体验感。 这个项目的…...

OJ在线评测系统 微服务高级 Gateway网关接口路由和聚合文档 引入knife4j库集中查看管理并且调试网关项目

Gateway微服务网关接口路由 各个服务之间已经能相互调用了 为什么需要网关 因为我们的不同服务是放在不同的端口上面的 如果前端调用服务 需要不同的端口 8101 8102 8103 8104 我们最好提供一个唯一的 给前端去调用的路径 我们学习技术的时候必须要去思考 1.为什么要用&am…...

腾讯云上传pushdocker镜像到镜像仓库

文章目录 腾讯云上传docker镜像 腾讯云上传docker镜像 >docker login ccr.ccs.tencentyun.com --usernameXXXXXX用户名>sudo docker tag mynginx:1.0 ccr.ccs.tencentyun.com/crfkitty/mynginx:1.0>docker push ccr.ccs.tencentyun.com/crfkitty/mynginx:1.0 The pu…...

sqli-labs靶场第二关less-2

sqli-labs靶场第二关less-2 本次测试在虚拟机搭建靶场,从主机测试 1、输入?id1和?id2发现有不同的页面回显 2、判断注入类型 http://192.168.128.3/sq/Less-2/?id1’ 从回显判断多一个‘ ,预测可能是数字型注入 输入 http://192.168.128.3/sq/Less…...

Ruby XML, XSLT 和 XPath 教程

Ruby XML, XSLT 和 XPath 教程 1. 引言 Ruby 是一种动态、开放源代码的编程语言,广泛用于网页开发、数据分析和各种自动化任务。在处理 XML(可扩展标记语言)时,Ruby 提供了强大的库和工具,使得解析、转换和提取 XML 数据变得简单高效。本教程将介绍如何使用 Ruby 来处理…...

attain和obtain区别

一、语法问题解答​ attain​:主要用作及物动词,表示“达到,得到,实现”,通常用于指经过努力达到某种目标、水平或状态,其宾语多为抽象名词,如目标、理想、成就等。它强调通过不懈努力实现某种…...

◇【code】PPO: Proximal Policy Optimization

整理的代码库:https://github.com/Gaoshu-root/Code-related-courses/tree/main/RL2024/PPO OpenAI 文档 —— PPO-Clip OpenAI 文档 界面链接 PPO: on-policy 算法、适用于 离散 或 连续动作空间。可能局部最优 PPO 的动机与 TRPO 一样:…...

Spring Boot 进阶-浅析SpringBoot中如何完成数据校验

在实际开发中,我们经常会遇到接口数据校验的问题。例如在用户输入手机号、或者是身份证号的时候,我们就需要校验手机号或者身份证号是否输入正确。当然这样的校验在前端页面输入的时候就可以完成。 但是对于直接调用接口的情况则不能通过调用方来进行判断,这就需要我们在Spr…...

◇【论文_20181020 v6】广义优势估计器 (generalized advantage estimator, GAE)

https://arxiv.org/abs/1506.02438 ICLR 2016 加州伯克利 电子工程与计算机科学系 High-Dimensional Continuous Control Using Generalized Advantage Estimation 文章目录 摘要1 引言2 预备知识3 优势函数估计4 解释为 奖励设计reward shaping5 价值函数估计6 实验6.1 策略优…...

JAVA后端项目须知

Eureka服务发现框架 ‌‌Eureka是一个服务发现框架,由‌Netflix开发,主要用于定位运行在‌AWS域中的中间层服务,以达到负载均衡和中间层服务故障转移的目的。‌‌12 Eureka是Spring Cloud Netflix的一个子模块,也是核心模块之一…...

Java设计模式——适配器模式

目录 模式动机 模式定义 模式结构 代码分析 模式分析 实例 优点 缺点 适用环境 模式应用 模式扩展 总结 模式动机 在软件开发过程中,经常会遇到需要使用已有类的功能,但这些类的接口不符合当前系统的需求,或者需要将不同的类的接…...

docker compose入门6—如何挂载卷

在 Docker Compose 中,可以通过 volumes 字段将宿主机的文件或目录挂载到容器中。这样可以实现数据持久化、共享数据或配置等。以下是一些常见的挂载方式和示例。 1. 挂载单个文件 如果你想将宿主机上的一个特定文件挂载到容器中,可以使用以下格式&…...

linux 环境下 docker 镜像获取失败, 重新设置docker镜像下载地址

1.查询镜像地址 https://hub.atomgit.com/repos/amd64/openjdk 2.docker file FROM hub.atomgit.com/amd64/openjdk:21-rc-jdk COPY xxxx.jar xxxx.jar EXPOSE xxxxx ENTRYPOINT ["java","-jar","-Xmx200M","-agentlib:jdwptransportdt_…...

【React】setState 是怎么记住上一个状态值的?

在 React 中,setState 通过 React 内部的状态管理机制来记住上一个状态值。即使每次组件重新渲染时,函数组件会被重新执行,React 仍能通过其内部的状态管理系统保持和追踪组件的状态变化。下面详细解释其工作原理: 1. setState 的…...

linux批量删文件

在 Linux 中,可以使用命令行工具来批量删除文件。以下是一些常用的方法: 使用 rm 命令 rm 是一个用于删除文件和目录的命令。使用此命令时应谨慎,因为删除操作是不可逆的。 删除特定类型的文件 例如,要删除当前目录下所有的 .tx…...

Kubernetes(K8s)的简介

一、Kubernetes的简介 1 应用部署方式演变 在部署应用程序的方式上,主要经历了三个阶段: 传统部署:互联网早期,会直接将应用程序部署在物理机上 优点:简单,不需要其它技术的参与 缺点:不能为应…...

线性查找法 ← Python实现

【线性查找法】 线性查找法顺序地将关键元素 key 和列表中的每一个元素进行比较。它连续这样做,直到这个关键字匹配列表中的某个元素,或者在没有找到匹配元素时已经查找完整个列表。如果找到一个匹配元素,那么线性查找将返回匹配在列表中的下…...

SpringBoot-17-MyBatis动态SQL标签之常用标签

文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…...

日语AI面试高效通关秘籍:专业解读与青柚面试智能助攻

在如今就业市场竞争日益激烈的背景下,越来越多的求职者将目光投向了日本及中日双语岗位。但是,一场日语面试往往让许多人感到步履维艰。你是否也曾因为面试官抛出的“刁钻问题”而心生畏惧?面对生疏的日语交流环境,即便提前恶补了…...

ubuntu搭建nfs服务centos挂载访问

在Ubuntu上设置NFS服务器 在Ubuntu上,你可以使用apt包管理器来安装NFS服务器。打开终端并运行: sudo apt update sudo apt install nfs-kernel-server创建共享目录 创建一个目录用于共享,例如/shared: sudo mkdir /shared sud…...

SciencePlots——绘制论文中的图片

文章目录 安装一、风格二、1 资源 安装 # 安装最新版 pip install githttps://github.com/garrettj403/SciencePlots.git# 安装稳定版 pip install SciencePlots一、风格 简单好用的深度学习论文绘图专用工具包–Science Plot 二、 1 资源 论文绘图神器来了:一行…...

Element Plus 表单(el-form)中关于正整数输入的校验规则

目录 1 单个正整数输入1.1 模板1.2 校验规则 2 两个正整数输入&#xff08;联动&#xff09;2.1 模板2.2 校验规则2.3 CSS 1 单个正整数输入 1.1 模板 <el-formref"formRef":model"formData":rules"formRules"label-width"150px"…...

使用Matplotlib创建炫酷的3D散点图:数据可视化的新维度

文章目录 基础实现代码代码解析进阶技巧1. 自定义点的大小和颜色2. 添加图例和样式美化3. 真实数据应用示例实用技巧与注意事项完整示例(带样式)应用场景在数据科学和可视化领域,三维图形能为我们提供更丰富的数据洞察。本文将手把手教你如何使用Python的Matplotlib库创建引…...

人机融合智能 | “人智交互”跨学科新领域

本文系统地提出基于“以人为中心AI(HCAI)”理念的人-人工智能交互(人智交互)这一跨学科新领域及框架,定义人智交互领域的理念、基本理论和关键问题、方法、开发流程和参与团队等,阐述提出人智交互新领域的意义。然后,提出人智交互研究的三种新范式取向以及它们的意义。最后,总结…...

GitFlow 工作模式(详解)

今天再学项目的过程中遇到使用gitflow模式管理代码&#xff0c;因此进行学习并且发布关于gitflow的一些思考 Git与GitFlow模式 我们在写代码的时候通常会进行网上保存&#xff0c;无论是github还是gittee&#xff0c;都是一种基于git去保存代码的形式&#xff0c;这样保存代码…...

力扣热题100 k个一组反转链表题解

题目: 代码: func reverseKGroup(head *ListNode, k int) *ListNode {cur : headfor i : 0; i < k; i {if cur nil {return head}cur cur.Next}newHead : reverse(head, cur)head.Next reverseKGroup(cur, k)return newHead }func reverse(start, end *ListNode) *ListN…...

掌握 HTTP 请求:理解 cURL GET 语法

cURL 是一个强大的命令行工具&#xff0c;用于发送 HTTP 请求和与 Web 服务器交互。在 Web 开发和测试中&#xff0c;cURL 经常用于发送 GET 请求来获取服务器资源。本文将详细介绍 cURL GET 请求的语法和使用方法。 一、cURL 基本概念 cURL 是 "Client URL" 的缩写…...