当前位置: 首页 > 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 和列表中的每一个元素进行比较。它连续这样做,直到这个关键字匹配列表中的某个元素,或者在没有找到匹配元素时已经查找完整个列表。如果找到一个匹配元素,那么线性查找将返回匹配在列表中的下…...

Leetcode 3576. Transform Array to All Equal Elements

Leetcode 3576. Transform Array to All Equal Elements 1. 解题思路2. 代码实现 题目链接:3576. Transform Array to All Equal Elements 1. 解题思路 这一题思路上就是分别考察一下是否能将其转化为全1或者全-1数组即可。 至于每一种情况是否可以达到&#xf…...

模型参数、模型存储精度、参数与显存

模型参数量衡量单位 M:百万(Million) B:十亿(Billion) 1 B 1000 M 1B 1000M 1B1000M 参数存储精度 模型参数是固定的,但是一个参数所表示多少字节不一定,需要看这个参数以什么…...

【网络安全产品大调研系列】2. 体验漏洞扫描

前言 2023 年漏洞扫描服务市场规模预计为 3.06(十亿美元)。漏洞扫描服务市场行业预计将从 2024 年的 3.48(十亿美元)增长到 2032 年的 9.54(十亿美元)。预测期内漏洞扫描服务市场 CAGR(增长率&…...

剑指offer20_链表中环的入口节点

链表中环的入口节点 给定一个链表,若其中包含环,则输出环的入口节点。 若其中不包含环,则输出null。 数据范围 节点 val 值取值范围 [ 1 , 1000 ] [1,1000] [1,1000]。 节点 val 值各不相同。 链表长度 [ 0 , 500 ] [0,500] [0,500]。 …...

【Zephyr 系列 10】实战项目:打造一个蓝牙传感器终端 + 网关系统(完整架构与全栈实现)

🧠关键词:Zephyr、BLE、终端、网关、广播、连接、传感器、数据采集、低功耗、系统集成 📌目标读者:希望基于 Zephyr 构建 BLE 系统架构、实现终端与网关协作、具备产品交付能力的开发者 📊篇幅字数:约 5200 字 ✨ 项目总览 在物联网实际项目中,**“终端 + 网关”**是…...

全面解析各类VPN技术:GRE、IPsec、L2TP、SSL与MPLS VPN对比

目录 引言 VPN技术概述 GRE VPN 3.1 GRE封装结构 3.2 GRE的应用场景 GRE over IPsec 4.1 GRE over IPsec封装结构 4.2 为什么使用GRE over IPsec? IPsec VPN 5.1 IPsec传输模式(Transport Mode) 5.2 IPsec隧道模式(Tunne…...

Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信

文章目录 Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信前言一、网络通信基础概念二、服务端与客户端的完整流程图解三、每一步的详细讲解和代码示例1. 创建Socket(服务端和客户端都要)2. 绑定本地地址和端口&#x…...

《C++ 模板》

目录 函数模板 类模板 非类型模板参数 模板特化 函数模板特化 类模板的特化 模板,就像一个模具,里面可以将不同类型的材料做成一个形状,其分为函数模板和类模板。 函数模板 函数模板可以简化函数重载的代码。格式:templa…...

JavaScript 数据类型详解

JavaScript 数据类型详解 JavaScript 数据类型分为 原始类型(Primitive) 和 对象类型(Object) 两大类,共 8 种(ES11): 一、原始类型(7种) 1. undefined 定…...

离线语音识别方案分析

随着人工智能技术的不断发展,语音识别技术也得到了广泛的应用,从智能家居到车载系统,语音识别正在改变我们与设备的交互方式。尤其是离线语音识别,由于其在没有网络连接的情况下仍然能提供稳定、准确的语音处理能力,广…...