Linux系统中快速安装docker

1 查看是否安装docker

要检查Ubuntu是否安装了Docker,可以使用以下几种方法:

方法1:使用 docker --version 命令

docker --version

如果Docker已安装,输出会显示Docker的版本信息,例如:

Docker version 20.10.10, build b485636

如果Docker未安装,你将看到类似以下的错误信息:

Command 'docker' not found, but can be installed with:
sudo apt install docker.io

方法2:使用 which docker 命令

which docker

如果Docker已安装,此命令会显示Docker可执行文件的路径,例如:

/usr/bin/docker

如果Docker未安装,命令不会产生输出。

方法3:检查Docker服务状态

systemctl status docker

如果Docker已安装且正在运行,你将看到服务的详细状态信息。如果Docker未安装或未运行,输出将类似于:

Unit docker.service could not be found.

方法4:检查已安装的包

你还可以检查系统中是否安装了Docker包。

检查 docker
dpkg -l | grep docker

检查 docker.io
dpkg -l | grep docker.io

如果Docker已安装,你会看到与Docker相关的包信息,例如:

ii  docker-ce       5:20.10.10~3-0~ubuntu-focal amd64        Docker: the open-source application container engine
ii  docker-ce-cli   5:20.10.10~3-0~ubuntu-focal amd64        Docker CLI: the open-source application container engine

安装Docker

如果你的系统中没有安装Docker,可以使用以下步骤安装Docker。

查询版本号

snap info docker

在这里插入图片描述

完整步骤如下:

使用 apt 包管理器可以直接安装指定版本的 docker.io 包。虽然这种方法更简单,但 docker.io 包可能不是官方的最新版本。以下是如何使用 apt 安装特定版本的 docker.io

1. 更新包信息

sudo apt update

2. 查找可用的 Docker 版本

使用 apt-cache 查看可用的 docker.io 版本:

apt-cache madison docker.io

这将列出所有可用的 docker.io 版本。例如:

 docker.io | 20.10.17-0ubuntu1~20.04.1 | http://archive.ubuntu.com/ubuntu focal-updates/universe amd64 Packagesdocker.io | 20.10.12-0ubuntu2~20.04.1 | http://archive.ubuntu.com/ubuntu focal-updates/universe amd64 Packages...

在这里插入图片描述

3. 安装特定版本的 Docker

找到所需版本后,使用以下命令安装,例如20.10.17:

sudo apt install docker.io=20.10.21-0ubuntu1~18.04.3

4. 防止自动升级

为了防止 docker.io 包在系统升级时自动升级到新版本,可以将其保持在当前版本:

sudo apt-mark hold docker.io

5. 启动并启用 Docker 服务

sudo systemctl start docker
sudo systemctl enable docker
  • 启动服务start 命令会立即启动服务,但不会配置其在系统重启后自动启动。
  • 启用服务enable 命令会配置服务在系统启动时自动启动,但不会立即启动服务。

6. 验证安装

docker --version

docker官方网站寄了,换国内镜像网站,跟pip,conda一样

vi /etc/docker/daemon.json

{
“registry-mirrors”: [“https://ustc-edu.cn.mirror.aliyuncs.com/”,“https://ccr.ccs.tencentyun.com/”,“https://docker.m.daocloud.io/”]
}

systemctl daemon-reload
systemctl restart docker

容器重启策略

当Ubuntu虚拟机关机或重启后,原先运行在Docker中的容器会停止。如果你重新启动虚拟机并运行 docker ps 命令,你将看不到那些原先运行的容器,因为它们已经停止。

但是,这些容器并没有被删除,你可以通过 docker ps -a 命令查看所有(包括停止的)容器。

重新启动容器

如果你希望在系统重启后自动重新启动容器,可以为容器设置重启策略。Docker 提供了几种重启策略,你可以在运行容器时通过 --restart 选项来设置:

  • no:默认值。容器退出时不会自动重启。
  • on-failure:如果容器由于错误退出(非零退出状态),则自动重启。
  • always:无论退出状态如何,始终自动重启。
  • unless-stopped:始终自动重启,除非容器是手动停止的。

示例

使用 --restart 选项设置容器的重启策略:

docker run \-e RABBITMQ_DEFAULT_USER=itheima \-e RABBITMQ_DEFAULT_PASS=123321 \-v mq-plugins:/plugins \--name mq \--hostname mq \-p 15672:15672 \-p 5672:5672 \--network hmall \--restart always \-d \rabbitmq:3.8-management

在上面的命令中,--restart always 参数确保容器在Docker守护进程启动时(例如系统重启后)自动重启。

启动和停止 Docker 容器

当系统重启后,使用以下命令来手动启动和停止容器:

  • 查看所有容器,包括已停止的

    docker ps -a
    
  • 启动一个已停止的容器

    docker start <container_name_or_id>
    
  • 停止一个运行中的容器

    docker stop <container_name_or_id>
    

进一步说明

使用重启策略可以确保容器在系统重启后自动恢复运行,提供了一种简单的方法来管理容器的高可用性,特别是对于需要持续运行的服务。

的容器**:

docker start <container_name_or_id>
  • 停止一个运行中的容器

    docker stop <container_name_or_id>
    

进一步说明

使用重启策略可以确保容器在系统重启后自动恢复运行,提供了一种简单的方法来管理容器的高可用性,特别是对于需要持续运行的服务。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/74045.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ElasticSearch 分词器

文章目录 一、安装中文分词插件Linux安装7.14.1版本&#xff1a;测试1&#xff1a;ik_smart测试2&#xff1a;ik_max_word 二、es内置的分词器&#xff1a;三、拼音插件安装以及&#xff08;IKpinyin使用&#xff09;配置 IK pinyin 分词配置 一、安装中文分词插件 IK Analys…

arm64位FFmpeg与X264库

参考链接&#xff1a; https://blog.csdn.net/gitblog_09700/article/details/142945092

机器学习与深度学习4:数据集处理Dataset,DataLoader,batch_size

深度学习中&#xff0c;我们能看到别人的代码中都有一个继承Dataset类的数据集处理过程&#xff0c;这也是深度学习处理数据集的的基础&#xff0c;下面介绍这个数据集的定义和使用&#xff1a; 1、数据集加载 1.1 通用的定义 Bach&#xff1a;表示每次喂给模型的数据 Epoc…

MySQL数据库和表的操作之SQL语句

&#x1f3af; 本文专栏&#xff1a;MySQL深入浅出 &#x1f680; 作者主页&#xff1a;小度爱学习 MySQL数据库和表的操作 关系型数据库&#xff0c;都是遵循SQL语法进行数据查询和管理的。 SQL语句 什么是sql SQL&#xff1a;结构化查询语言(Structured Query Language)&…

ubuntu开发mcu环境

# 编辑 vim或者vscode # 编译 arm-none-eabi # 烧写 openocd 若是默认安装&#xff0c;会在/usr/share/openocd/scripts/{interface,target} 有配置接口和目标版配置 示例&#xff1a; openocd -f interface/stlink-v2.cfg -f target/stm32f1x.cfg 启动后&#xff0c;会…

Windows模仿Mac大小写切换, 中英文切换

CapsLock 功能优化脚本部署指南 部署步骤 第一步&#xff1a;安装 AutoHotkey v2 访问 AutoHotkey v2 官网下载并安装最新版本安装时勾选 "Add Compile Script to context menus" 第二步&#xff1a;部署脚本 直接运行 (调试推荐) 新建文本文件&#xff0c;粘贴…

Selenium Web自动化如何快速又准确的定位元素路径,强调一遍是元素路径

如果文章对你有用&#xff0c;请给个赞&#xff01; 匹配的ChromeDriver和浏览器版本是更好完成自动化的基础&#xff0c;可以从这里去下载驱动程序&#xff1a; 最全ChromeDriver下载含win linux mac 最新版本134.0.6998.165 持续更新..._chromedriver 134-CSDN博客 如果你问…

CSRF vs SSRF详解

一、CSRF&#xff08;跨站请求伪造&#xff09;攻击全解 攻击原理示意图 受害者浏览器 ├── 已登录银行网站&#xff08;Cookie存活&#xff09; └── 访问恶意网站执行&#xff1a;<img src"http://bank.com/transfer?tohacker&amount1000000">核心…

Python PDF解析利器:pdfplumber | AI应用开发

Python PDF解析利器&#xff1a;pdfplumber全面指南 1. 简介与安装 1.1 pdfplumber概述 pdfplumber是一个Python库&#xff0c;专门用于从PDF文件中提取文本、表格和其他信息。相比其他PDF处理库&#xff0c;pdfplumber提供了更直观的API和更精确的文本定位能力。 主要特点…

niuhe 插件教程 - 配置 MCP让AI更聪明

niuhe 插件官方教程已经上线, 请访问: http://niuhe.zuxing.net niuhe 连接 MCP 介绍 API 文档的未来&#xff1a;MCP&#xff0c;让协作像聊天一样简单. MCP 是 Model Context Protocol(模型上下文协议)的缩写&#xff0c;是 2024 年 11 月 Claude 的公司 Anthropic 推出并开…

26考研——排序_插入排序(8)

408答疑 文章目录 二、插入排序基本概念插入排序方法直接插入排序算法描述示例性能分析 折半插入排序改进点算法步骤性能分析 希尔排序相关概念示例分析希尔排序的效率效率分析空间复杂度时间复杂度 九、参考资料鲍鱼科技课件26王道考研书 二、插入排序 基本概念 定义&#x…

精华贴分享|从不同的交易理论来理解头肩形态,殊途同归

本文来源于量化小论坛策略分享会板块精华帖&#xff0c;作者为孙小迪&#xff0c;发布于2025年2月17日。 以下为精华帖正文&#xff1a; 01 前言 学习了一段时间交易后&#xff0c;我发现在几百年的历史中&#xff0c;不同门派的交易理论对同一种市场特征的称呼不一样&#x…

leetcode437.路径总和|||

对于根结点来说&#xff0c;可以选择当前结点为路径也可以不选择&#xff0c;但是一旦选择当前结点为路径那么后续都必须要选择结点作为路径&#xff0c;不然路径不连续是不合法的&#xff0c;所以这里分开出来两个方法进行递归 由于力扣最后一个用例解答错误&#xff0c;分析…

北斗导航 | 改进奇偶矢量法的接收机自主完好性监测算法原理,公式,应用,RAIM算法研究综述,matlab代码

改进奇偶矢量法的接收机自主完好性监测算法研究 摘要 接收机自主完好性监测(RAIM)是保障全球导航卫星系统(GNSS)安全性的核心技术。针对传统奇偶矢量法在噪声敏感性、多故障隔离能力上的缺陷,本文提出一种基于加权奇偶空间与动态阈值的改进算法。通过引入观测值权重矩阵重…

深度神经网络全解析:原理、结构与方法对比

深度神经网络全解析&#xff1a;原理、结构与方法对比 1. 引言 随着人工智能的发展&#xff0c;深度神经网络&#xff08;Deep Neural Network&#xff0c;DNN&#xff09;已经成为图像识别、自然语言处理、语音识别、自动驾驶等领域的核心技术。相比传统机器学习方法&#x…

经典论文解读系列:MapReduce 论文精读总结:简化大规模集群上的数据处理

&#x1f9e0; MapReduce 论文解读总结&#xff1a;简化大规模集群上的数据处理 原文标题&#xff1a;MapReduce: Simplified Data Processing on Large Clusters 作者&#xff1a;Jeffrey Dean & Sanjay Ghemawat 发表时间&#xff1a;2004 年 发表机构&#xff1a;Google…

通过Appium理解MCP架构

MCP即Model Context Protocol&#xff08;模型上下文协议&#xff09;&#xff0c;是由Anthropic公司于2024年11月26日推出的开放标准框架&#xff0c;旨在为大型语言模型与外部数据源、工具及系统建立标准化交互协议&#xff0c;以打破AI与数据之间的连接壁垒。 MCP架构与Appi…

网页版五子棋项目的问题处理

文章目录 config.WebSocketConfig将键值对加⼊OnlineUserManager中线程安全、锁ObjectMapper来处理json针对多开情况的判定处理连接关闭、异常&#xff08;玩家中途退出&#xff09;后的不合理操作游戏大厅数据更新 config.WebSocketConfig 把MatchAPI注册进去 • 在addHandle…

【初探数据结构】归并排序与计数排序的序曲

&#x1f4ac; 欢迎讨论&#xff1a;在阅读过程中有任何疑问&#xff0c;欢迎在评论区留言&#xff0c;我们一起交流学习&#xff01; &#x1f44d; 点赞、收藏与分享&#xff1a;如果你觉得这篇文章对你有帮助&#xff0c;记得点赞、收藏&#xff0c;并分享给更多对数据结构感…

算法刷题记录——LeetCode篇(8.7) [第761~770题](持续更新)

更新时间&#xff1a;2025-03-30 算法题解目录汇总&#xff1a;算法刷题记录——题解目录汇总技术博客总目录&#xff1a;计算机技术系列博客——目录页 优先整理热门100及面试150&#xff0c;不定期持续更新&#xff0c;欢迎关注&#xff01; 763. 划分字母区间 给你一个字…