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

CentOS 7 安装 Docker 的详细步骤

文章目录

  • Docker简介
  • 1.更新
  • 2.安装必要的软件包
  • 3.添加Docker仓库
  • 4.安装
  • 5.安装后的一些常规设置及常用的命令
    • 5.1 启动 Docker
    • 5.2 Docker 在系统启动时自动运行
    • 5.3 运行一个 Hello World 镜像
    • 5.4 查看docker运行状态
    • 5.5 docker ps
    • 5.6 查看docker版本
  • 6.安装种常见的错误
    • 错误1:yum-config-manager:找不到命令
  • 7.Docker的使用场景

欢迎来到这篇关于在 CentOS 7 上安装 Docker 的教程。在本篇博客中,我们将介绍在 CentOS 7 操作系统上如何安装 Docker。Docker 是一个开源的应用容器引擎,允许开发者打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上。下面让我们开始吧。

Docker简介

Docker 是一个开源的容器化平台,它可以帮助用户将应用程序和服务打包到 Docker 容器中,并提供一套简单而强大的命令行工具来管理容器和镜像。与传统虚拟机相比,Docker 容器更加轻量级、便捷、高效,并且可以实现跨平台、跨云、快速部署和扩展等优点。

通过 Docker,用户可以创建和运行多个容器,每个容器相互隔离、独立运行,就像是一个轻量级的虚拟机。用户可以使用 Docker 提供的命令行工具来管理容器和镜像,如构建、运行、停止、删除、导入和导出等操作,还可以通过 Docker Hub 等镜像仓库下载和分享 Docker 镜像。

Docker 的应用场景非常广泛,可以用于开发环境搭建、CI/CD 自动化部署、微服务架构、容器云平台、容器编排等方面。在企业级应用中,Docker 已经成为重要的容器化技术之一,并被广泛应用于生产环境。

总之,Docker 是一个非常流行的容器化平台,提供了一种新的方式来构建、发布和运行应用程序和服务,其轻量级、可移植、易于管理和扩展的优点,使其成为越来越多开发者和企业的首选技术。

一个完整的Docker有以下几个部分组成:

  • DockerClient客户端
  • Docker Daemon守护进程
  • Docker Image镜像
  • DockerContainer容器

docker中有这样几个概念:

  • dockerfile
  • image
  • container
    实际上你可以简单的把image理解为可执行程序,container就是运行起来的进程。
    那么写程序需要源代码,那么“写”image就需要dockerfile,dockerfile就是image的源代码,docker就是"编译器"。
    因此我们只需要在dockerfile中指定需要哪些程序、依赖什么样的配置,之后把dockerfile交给“编译器”docker进行“编译”,也就是docker build命令,生成的可执行程序就是image,之后就可以运行这个image了,这就是docker run命令,image运行起来后就是docker container。
    在这里插入图片描述

1.更新

yum update -y

2.安装必要的软件包

yum install -y yum-utils device-mapper-persistent-data lvm2

3.添加Docker仓库

yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

4.安装

yum install docker-ce

5.安装后的一些常规设置及常用的命令

5.1 启动 Docker

systemctl start docker

5.2 Docker 在系统启动时自动运行

systemctl enable docker

5.3 运行一个 Hello World 镜像

[root@10 ~]# docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
719385e32844: Pull complete
Digest: sha256:4f53e2564790c8e7856ec08e384732aa38dc43c52f02952483e3f003afbf23db
Status: Downloaded newer image for hello-world:latestHello from Docker!
This message shows that your installation appears to be working correctly.To generate this message, Docker took the following steps:1. The Docker client contacted the Docker daemon.2. The Docker daemon pulled the "hello-world" image from the Docker Hub.(amd64)3. The Docker daemon created a new container from that image which runs theexecutable that produces the output you are currently reading.4. The Docker daemon streamed that output to the Docker client, which sent itto your terminal.To try something more ambitious, you can run an Ubuntu container with:$ docker run -it ubuntu bashShare images, automate workflows, and more with a free Docker ID:https://hub.docker.com/For more examples and ideas, visit:https://docs.docker.com/get-started/

5.4 查看docker运行状态

[root@10 ~]# systemctl status docker
● docker.service - Docker Application Container EngineLoaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset:                                                            disabled)Active: active (running) since 三 2023-09-27 08:47:58 CST; 12min agoDocs: https://docs.docker.comMain PID: 1536 (dockerd)Tasks: 34Memory: 146.8MCGroup: /system.slice/docker.service└─1536 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/contai...927 08:47:58 10.0.1.37 dockerd[1536]: time="2023-09-27T08:47:58.296317622+..."
927 08:47:58 10.0.1.37 dockerd[1536]: time="2023-09-27T08:47:58.457659247+..."
927 08:47:58 10.0.1.37 dockerd[1536]: time="2023-09-27T08:47:58.570299351+..."
927 08:47:58 10.0.1.37 dockerd[1536]: time="2023-09-27T08:47:58.686028344+..."
927 08:47:58 10.0.1.37 dockerd[1536]: time="2023-09-27T08:47:58.868276595+...6
9月 27 08:47:58 10.0.1.37 dockerd[1536]: time="2023-09-27T08:47:58.868391631+..."
9月 27 08:47:58 10.0.1.37 dockerd[1536]: time="2023-09-27T08:47:58.911613133+..."
9月 27 08:47:58 10.0.1.37 systemd[1]: Started Docker Application Container E...e.
9月 27 08:59:16 10.0.1.37 dockerd[1536]: time="2023-09-27T08:59:16.121080761+..."
9月 27 08:59:22 10.0.1.37 dockerd[1536]: time="2023-09-27T08:59:22.111055567+..."
Hint: Some lines were ellipsized, use -l to show in full.

5.5 docker ps

该命令是用来查询当前容器的

#查询全部状态的容器
docker ps -a 
CONTAINER ID   IMAGE          COMMAND                  CREATED        STATUS       PORTS   NAMES        SIZE                                                                                      SIZE
e90b8831a4b8   nginx          "/bin/bash -c 'mkdir "   11 weeks ago   Up 4 hours           my_nginx     35.58 kB (virtual 109.2 MB)
00c6131c5e30   telegraf:1.5   "/entrypoint.sh"         11 weeks ago   Up 11 weeks          my_telegraf  0 B (virtual 209.5 MB)

5.6 查看docker版本

[root@10 ~]# docker version
Client: Docker Engine - CommunityVersion:           24.0.6API version:       1.43Go version:        go1.20.7Git commit:        ed223bcBuilt:             Mon Sep  4 12:35:25 2023OS/Arch:           linux/amd64Context:           defaultServer: Docker Engine - CommunityEngine:Version:          24.0.6API version:      1.43 (minimum version 1.12)Go version:       go1.20.7Git commit:       1a79695Built:            Mon Sep  4 12:34:28 2023OS/Arch:          linux/amd64Experimental:     falsecontainerd:Version:          1.6.22GitCommit:        8165feabfdfe38c65b599c4993d227328c231fcarunc:Version:          1.1.8GitCommit:        v1.1.8-0-g82f18fedocker-init:Version:          0.19.0GitCommit:        de40ad0

6.安装种常见的错误

错误1:yum-config-manager:找不到命令

[root@10 ~]# yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum-config-manager:找不到命令

解决:

yum -y install yum-utils

7.Docker的使用场景

  1. 应用程序的开发和测试:Docker可以为应用程序提供稳定的运行环境,使开发人员可以轻松在不同的系统上测试和运行软件,而无需考虑与操作系统或其他应用程序的冲突。

  2. 持续集成和持续交付:Docker可以在不同阶段的开发周期中提供完全相同的环境,并且可以在部署到生产服务器之前快速迭代和测试应用程序。

  3. 服务器的管理和部署:Docker可以帮助管理员自动化应用程序的部署和操作,也可以轻松地横向扩展和缩小服务器,以便根据需要扩展或减少服务。

  4. 云计算和容器服务:Docker可以作为云计算平台的基础架构,例如Kubernetes、Mesos或Docker Swarm,提供高度扩展、可靠性和安全性。

  5. 多租户应用程序的隔离:Docker可以为多租户应用程序提供隔离的容器,从而不同租户之间的应用程序和数据可以彼此隔离,提高了安全性。

相关文章:

CentOS 7 安装 Docker 的详细步骤

文章目录 Docker简介1.更新2.安装必要的软件包3.添加Docker仓库4.安装5.安装后的一些常规设置及常用的命令5.1 启动 Docker5.2 Docker 在系统启动时自动运行5.3 运行一个 Hello World 镜像5.4 查看docker运行状态5.5 docker ps5.6 查看docker版本 6.安装种常见的错误错误1:yum-…...

竞赛 基于深度学习的动物识别 - 卷积神经网络 机器视觉 图像识别

文章目录 0 前言1 背景2 算法原理2.1 动物识别方法概况2.2 常用的网络模型2.2.1 B-CNN2.2.2 SSD 3 SSD动物目标检测流程4 实现效果5 部分相关代码5.1 数据预处理5.2 构建卷积神经网络5.3 tensorflow计算图可视化5.4 网络模型训练5.5 对猫狗图像进行2分类 6 最后 0 前言 &#…...

数据结构之【泛型】

泛型:定义阶段不明确具体类型,产生对象时明确具体类型。 //Object是Java中的最高参数统一化,能够接受所有的引用类型; //有了包装类的自动拆装箱之后,Object还能够接收基本类型数值(自动装箱) …...

华为ac无线侧命令行配置思路和步骤

无线侧配置思路: Ap和ac在同一个广播域内,不用配置 option 43 source 源ip回包哪个模式都得配置 Cli配置业务模版流程: 1、 AC控制器上全局配置capwap回包接口地址 1、配置ssid:wifi名称 2、配置安全模版:用户连接密码…...

十六)Stable Diffusion教程:出图流程化

今天说一个流程化出图的案例,适用很多方面。 1、得到线稿,自己画或者图生图加线稿lora出线稿;如果想sd出图调整参数不那么频繁细致,则线稿的素描关系、层次、精深要表现出来,表现清楚。 2、文生图,seed随机…...

SpringBoot全局异常处理源码

SpringBoot全局异常处理源码 一、SpringMVC执行流程二、SpringBoot源码跟踪三、自定义优雅的全局异常处理脚手架starter自定义异常国际化引入封装基础异常封装基础异常扫描器,并注册到ExceptionHandler中项目分享以及改进点 一、SpringMVC执行流程 今天这里叙述的全…...

设计模式——7. 装饰者模式

1. 说明 装饰者模式(Decorator Pattern)是一种结构型设计模式,它允许你在不改变对象接口的前提下,动态地将新行为附加到对象上。这种模式是通过创建一个包装(或装饰)对象,将要被装饰的对象包裹起来,从而实现对原有对象功能的增强和扩展。 装饰者模式的主要特点包括:…...

安卓玩机-----反编译apk 修改apk 去广告 去弹窗等操作中的一些常识

安卓机型app的编译与反编译 apk文件的简单说明与解析 -安卓修改apk apk的组成和编译 一 电脑端几种反编译apk工具操作步骤解析 前面几个博文有说明关于反编译apk和apk架构等有些常识.今天对以上做个补充。初学者记住一点。对于一个apk文件使用压缩软件7zip打开可以查看到文件…...

Hoeffing不等式

在李航老师的统计学习方法(第一版中) H o e f f i n g 不等式 Hoeffing不等式 Hoeffing不等式是这样子给出的 设 X 1 , X 2 , . . . , X N X_1,X_2,...,X_N X1​,X2​,...,XN​是独立随机变量,且 X i ∈ [ a i , b i ] , i 1 , 2 , . . . ,…...

ffmpeg解复用指定pid转推udp

命令 ffmpeg -re -i udp://224.2.2.2:4003?fifo_size1024000 -map #5001 -acodec copy -flush_packets 1 -f mpegts udp://192.168.2.62:5161 ffmpeg -re -i udp://224.2.2.2:4003?fifo_size1024000 -map #5001 -acodec copy -flush_packets 1 -f mpegts udp://192.16…...

Vue组件通信方式

1.props通信 1.1在 Vue 2 中使用 props 通信 注意:props传递的数据是只读的,子组件修改,不会影响父组件 1.1.1.定义 props 在子组件中使用 props 选项来定义要接收的属性 // 子组件 <script> export default {props: {message: String} } </script>1.1.2.传递…...

redis-设置从节点

节点结构 节点配置文件 主节点 不变 6380节点 port 6380 slaveof 127.0.0.1 63796381节点 port 6381 slaveof 127.0.0.1 6380启动 指定配置文件的方式启动 D:\jiqun\redis\Redis-6380>redis-server.exe redis.windows.conf启动时&#xff0c;会触发同步数据命令 主节点…...

k8s-实战——基于nfs实现动态存储

部署nfs服务 基于Centos7.9版本创建动态存储注意k8s版本应低于v1.24版本高k8s版本ServiceAccount需要手动创建secrets并关联相关sa部署流程 创建NFS共享服务、采用单独的节点用于nfs服务独占安装nfs-utils和rpcbindnfs客户端和服务端都安装nfs-utils包通过部署化脚本安装k8s集群…...

【广州华锐互动】鱼类授精繁殖VR虚拟仿真实训系统

随着科技的不断发展&#xff0c;虚拟现实技术在各个领域的应用越来越广泛。在养殖业中&#xff0c;VR技术可以帮助养殖户进行家鱼授精实操演练&#xff0c;提高养殖效率和繁殖成功率。本文将介绍利用VR开展家鱼授精实操演练的方法和应用。 首先&#xff0c;我们需要了解家鱼授精…...

RocketMQ Promethus Exporter

介绍​ Rocketmq-exporter 是用于监控 RocketMQ broker 端和客户端所有相关指标的系统&#xff0c;通过 mqAdmin 从 broker 端获取指标值后封装成 87 个 cache。 警告 过去版本曾是 87 个 concurrentHashMap&#xff0c;由于 Map 不会删除过期指标&#xff0c;所以一旦有 la…...

Kafka收发消息核心参数详解

文章目录 1、从基础的客户端说起1.1、消息发送者主流程1.2、消息消费者主流程 2、从客户端属性来梳理客户端工作机制2.1、消费者分组消费机制 1、从基础的客户端说起 Kafka提供了非常简单的客户端API。只需要引入一个Maven依赖即可&#xff1a; <dependency><groupId…...

Springboot中Aop的使用

Springboot中使用拦截器、过滤器、监听器-CSDN博客 相比较于拦截器&#xff0c;Spring 的aop则功能更强大&#xff0c;封装的更细致&#xff0c;需要单独引用 jar包。 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-b…...

创建vue3项目、链式调用、setup函数、ref函数、reactive函数、计算和监听属性、vue3的生命周期、torefs的使用、vue3的setup写法

1 创建vue3项目 # 两种方式- vue-cli&#xff1a;vue脚手架---》创建vue项目---》构建vue项目--》工具链跟之前一样- vite &#xff1a;https://cn.vitejs.dev/-npm create vuelatest // 或者-npm create vitelatest一路选择即可# 运行vue3项目-vue-cli跟之前一样-vite 创建的…...

搭建好自己的PyPi服务器后怎么使用

当您成功搭建好自己的 PyPI 服务器后&#xff0c;您可以使用以下步骤来发布和使用您的包&#xff1a; 打包您的代码&#xff1a; 首先&#xff0c;将您的 Python 项目打包成一个发布包。确保您已经在项目根目录下创建了 setup.py 文件&#xff0c;并按照正确的格式填写了项目信…...

Vue3 中使用provide和reject

1、provide 和reject 可以实现一条事件线上的 父传子&#xff0c;父传孙等&#xff1b;相比较 props emits 仅限与父子传参更方便&#xff0c;相较于pinia书写更简单&#xff0c;但是需要注意使用响应式&#xff0c;如果是非响应式的会导致页面更新不及时 父组件 <templat…...

【杂谈】-递归进化:人工智能的自我改进与监管挑战

递归进化&#xff1a;人工智能的自我改进与监管挑战 文章目录 递归进化&#xff1a;人工智能的自我改进与监管挑战1、自我改进型人工智能的崛起2、人工智能如何挑战人类监管&#xff1f;3、确保人工智能受控的策略4、人类在人工智能发展中的角色5、平衡自主性与控制力6、总结与…...

基于Flask实现的医疗保险欺诈识别监测模型

基于Flask实现的医疗保险欺诈识别监测模型 项目截图 项目简介 社会医疗保险是国家通过立法形式强制实施&#xff0c;由雇主和个人按一定比例缴纳保险费&#xff0c;建立社会医疗保险基金&#xff0c;支付雇员医疗费用的一种医疗保险制度&#xff0c; 它是促进社会文明和进步的…...

【Go】3、Go语言进阶与依赖管理

前言 本系列文章参考自稀土掘金上的 【字节内部课】公开课&#xff0c;做自我学习总结整理。 Go语言并发编程 Go语言原生支持并发编程&#xff0c;它的核心机制是 Goroutine 协程、Channel 通道&#xff0c;并基于CSP&#xff08;Communicating Sequential Processes&#xff0…...

Module Federation 和 Native Federation 的比较

前言 Module Federation 是 Webpack 5 引入的微前端架构方案&#xff0c;允许不同独立构建的应用在运行时动态共享模块。 Native Federation 是 Angular 官方基于 Module Federation 理念实现的专为 Angular 优化的微前端方案。 概念解析 Module Federation (模块联邦) Modul…...

2023赣州旅游投资集团

单选题 1.“不登高山&#xff0c;不知天之高也&#xff1b;不临深溪&#xff0c;不知地之厚也。”这句话说明_____。 A、人的意识具有创造性 B、人的认识是独立于实践之外的 C、实践在认识过程中具有决定作用 D、人的一切知识都是从直接经验中获得的 参考答案: C 本题解…...

Reasoning over Uncertain Text by Generative Large Language Models

https://ojs.aaai.org/index.php/AAAI/article/view/34674/36829https://ojs.aaai.org/index.php/AAAI/article/view/34674/36829 1. 概述 文本中的不确定性在许多语境中传达,从日常对话到特定领域的文档(例如医学文档)(Heritage 2013;Landmark、Gulbrandsen 和 Svenevei…...

Razor编程中@Html的方法使用大全

文章目录 1. 基础HTML辅助方法1.1 Html.ActionLink()1.2 Html.RouteLink()1.3 Html.Display() / Html.DisplayFor()1.4 Html.Editor() / Html.EditorFor()1.5 Html.Label() / Html.LabelFor()1.6 Html.TextBox() / Html.TextBoxFor() 2. 表单相关辅助方法2.1 Html.BeginForm() …...

python爬虫——气象数据爬取

一、导入库与全局配置 python 运行 import json import datetime import time import requests from sqlalchemy import create_engine import csv import pandas as pd作用&#xff1a; 引入数据解析、网络请求、时间处理、数据库操作等所需库。requests&#xff1a;发送 …...

libfmt: 现代C++的格式化工具库介绍与酷炫功能

libfmt: 现代C的格式化工具库介绍与酷炫功能 libfmt 是一个开源的C格式化库&#xff0c;提供了高效、安全的文本格式化功能&#xff0c;是C20中引入的std::format的基础实现。它比传统的printf和iostream更安全、更灵活、性能更好。 基本介绍 主要特点 类型安全&#xff1a…...

LOOI机器人的技术实现解析:从手势识别到边缘检测

LOOI机器人作为一款创新的AI硬件产品&#xff0c;通过将智能手机转变为具有情感交互能力的桌面机器人&#xff0c;展示了前沿AI技术与传统硬件设计的完美结合。作为AI与玩具领域的专家&#xff0c;我将全面解析LOOI的技术实现架构&#xff0c;特别是其手势识别、物体识别和环境…...