Docker学习笔记(二):在Linux中部署Docker(Centos7下安装docker、环境配置,以及镜像简单使用)

一、前言

记录时间 [2024-4-6]


前置文章:Docker学习笔记(一):入门篇,Docker概述、基本组成等,对Docker有一个初步的认识

在上文中,笔者进行了Docker概述,介绍其历史、优势、作用,以及基本组成。通过此,相信大家对Docker有了一个初步的认识。接下来就进入Docker的安装、环境配置,和简单使用了。

文章为零基础学习Docker做了一些准备:

  • Docker学习视频(狂神说系列)
  • Docker官方文档(官方文档超级详细)
  • Docker远程仓库(相当于镜像商店)
  • Docker参考笔记(一篇实用型Docker笔记)
  • Linux云服务器/虚拟机(文章中使用了阿里云服务器,创建虚拟机参考这个)
  • FinalShell远程连接工具(下载地址,选择Windows版本,安装就默认步骤,如果提示安装WinPcap那就装一下咯)

二、Docker 安装前准备

1. 安装 Centos7 系统


将服务器/虚拟机的操作系统设置成Centos7,注意版本选择7,查文档可知CentOS 7Docker Engine安装所需要的。

在这里插入图片描述


版本选择完毕后,设置远程连接,选择root权限连接,即Workbench密码登录(初次使用要设置下密码)。这一步主要是为后面连接FinalShell做准备。

虚拟机可以连接FinalShell,也可以在VMware软件中直接运行操作。


2. 连接 FinalShell


启动FinalShell,点击新标签页左侧的文件夹标识,再选择白色文件夹,新建SSH连接。

在这里插入图片描述


在新建SSH连接界面,输入主机IP,即服务器/虚拟机的IP地址,服务器IP地址选公网,虚拟机启动后输入如下命令查看。

ip addr show

然后输入用户名和密码,点击确定。然后快速连接即可。

在这里插入图片描述


3. 系统环境查看


查看系统内核:

uname -r

结果如下:

# 系统内核是 3.10 以上
[root@hostname ~]# uname -r
3.10.0-957.21.3.el7.x86_64

查看系统版本:

cat /etc/os-release

结果如下:

# 系统版本
[root@hostname ~]# cat /etc/os-release
NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"

CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7"

三、Docker 安装和配置

1. 卸载旧版本


如果之前安装过旧版本Docker的话,先进行卸载:

注意:命令中的斜杠\是在一条命令没写完但是要进行换行情况下使用,如果命令写在同一行就不需要斜杠。

yum remove docker \
           docker-client \
           docker-client-latest \
           docker-common \
           docker-latest \
           docker-latest-logrotate \
           docker-logrotate \
           docker-engine

2. 通过仓库安装

Install using the rpm repository.

下载需要的安装包

yum install -y yum-utils

设置镜像仓库

官方仓库如下:(不推荐,下载东西超级慢)

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

更新 yum 索引

yum makecache fast

安装 Docker

最新版:

# docker-ce 社区版   ee 企业版
yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

如果想要安装其他版本,就附带版本号VERSION_STRING

yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io docker-buildx-plugin docker-compose-plugin

3. 启动 Docker

systemctl start docker

4. 查看 Docker 版本

docker version

使用docker version查看是否安装成功

[root@hostname ~]# docker version
Client: Docker Engine - Community
 Version:           26.0.0
 API version:       1.45
 Go version:        go1.21.8
 ...

Server: Docker Engine - Community
 Engine:
  Version:          26.0.0
  API version:      1.45 (minimum version 1.24)
  Go version:       go1.21.8
  ...

5. 卸载 Docker(了解)

# 1. 卸载依赖
yum remove docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-ce-rootless-extras

# 2. 删除资源
rm -rf /var/lib/docker
rm -rf /var/lib/containerd

# /var/lib/docker 为 docker 的默认工作路径

6. 阿里云镜像加速(非必要)


这一步推荐安装1.10.0以上版本的Docker客户端使用。可以更快地下载镜像。

登录阿里云,选择容器镜像服务,找到镜像加速器,根据文档配置即可。

在这里插入图片描述


# registry-mirrors 中写入加速器地址,每个人的都不一样

# 1. 打开配置文件目录
sudo mkdir -p /etc/docker

# 2. 编辑配置文件
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://......"]
}
EOF

# 3. 重启服务
sudo systemctl daemon-reload

# 4. 重启 Docker
sudo systemctl restart docker

四、简单测试 hello-world

1. 具体操作


测试命令:

docker run hello-world

我们来观察一下hello-world的实现过程:

[root@hostname ~]# docker run hello-world

# 1. 本地没找到 hello-world 镜像
Unable to find image 'hello-world:latest' locally

# 2. 远程仓库拉取 hello-world 镜像
latest: Pulling from library/hello-world

# 3. 签名信息:拉取完成
2db29710123e: Pull complete 
Digest: sha256:2498fce14358aa50ead0cc6c19990fc6ff866ce72aeb5546e1d59caac3d0d60f
Status: Downloaded newer image for hello-world:latest

# 4. 运行 hello-world 成功
Hello from Docker!
This message shows that your installation appears to be working correctly.

2. 查看镜像


查看hello-world镜像:

docker images

结果如下:

[root@hostname ~]# docker images
REPOSITORY            TAG       IMAGE ID       CREATED       SIZE
hello-world           latest    feb5d9fea6a5   2 years ago   13.3kB

五、镜像运行流程


在这里插入图片描述


六、Docker 底层原理


Docker如何工作?

  • 如图,Docker是一个Client-Server结构的系统,Docker的守护进程运行在主机上,客户端通过Socket访问。
  • Docker-Server接收到Docker-Client的指令,就会执行这个命令。

在这里插入图片描述


七、总结


本文讲述了LinuxDocker的安装、环境配置,和简单使用。还介绍了镜像运行流程和Docker底层原理,讲述了Centos7系统镜像的设置,讲述了FinalShell远程连接云服务器/虚拟机的方式。接下来是关于Docker使用的基本命令。


一些参考资料

狂神说系列Docker教程:https://www.bilibili.com/video/BV1og4y1q7M4/
Docker参考笔记:https://blog.csdn.net/qq_58141314/article/details/131020932
Docker官网:https://www.docker.com/
Docker官方文档:https://docs.docker.com/engine/install/centos/
Docker远程仓库:https://hub.docker.com/
FinalShell下载:http://www.hostbuf.com/t/988.html
阿里云网址:https://www.aliyun.com/

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

springboot相关报错解决

Caused by: java.lang.ClassNotFoundException: 目录 Caused by: java.lang.ClassNotFoundException: org.springframework.context.event.GenericApplicationListener spring-boot-dependencies:jar:2.1.9.RELEASE was not found org.springframework.context.event.Generi…

Mybatis-plus动态数据源

由于服务没有做微服务部署&#xff0c;需要在后台管理系统访问其他服务的库&#xff0c;所以需要用到动态数据源切换 引入依赖 mybatis-plus动态数据源依赖 <dependency><groupId>com.baomidou</groupId><artifactId>dynamic-datasource-spring-boot…

【生产实习-毕设】pyspark学生成绩分析与预测(上)

注意&#xff1a;数据由实习单位老师提供&#xff08;需要自行搜索下载&#xff09;&#xff0c;页面美化为下载模板。 项目介绍&#xff1a;前端页面输入影响成绩的属性&#xff0c;预测出成绩&#xff0c;并作可视化展示——属性对成绩的影响。使用python pyspark 进行数据预…

SpringBoot + Dobbo + nacos

SpringBoot Dobbo nacos 一、nacos https://nacos.io/zh-cn/docs/quick-start.html 1、下载安装包 https://github.com/alibaba/nacos/releases/下载后在主目录下&#xff0c;创建一个logs的文件夹&#xff1a;用来存日志 2、启动nacos 在bin目录下打开cmd运行启动命令&a…

小红的白色字符串

题目描述 小红拿到了一个字符串&#xff0c;她准备将一些字母变成白色&#xff0c;变成白色的字母看上去就和空格一样&#xff0c;这样字符串就变成了一些单词。 现在小红希望&#xff0c;每个单词都满足以下两种情况中的一种&#xff1a; 1.开头第一个大写&#xff0c;其余为…

简述OSI七层模型及每层的功能任务和协议

文章目录 一、OSI七层模型的功能和任务1.物理层2.数据链路层3.网络层4.传输层5.会话层6.表示层7. 应用层 二、OSI七层模型每层的协议 开放系统互连参考模型&#xff08;Open System Interconnect&#xff0c;简称OSI&#xff09;是国际标准化组织(ISO)和国际电报电话咨询委员会…

为什么选择成为程序员?

目录 兴趣和热爱高薪和就业机会持续学习和不断成长挑战和乐趣 兴趣和热爱 许多人选择成为程序员可能是热爱&#xff0c;对计算机&#xff0c;以及编程和科技产生了浓厚的兴趣&#xff0c;并且享受着解决每一个技术问题&#xff0c;构建应用程序和探索新技术所带来的乐趣。 谈到…

vue快速入门(十七)v-model数据双向绑定修饰符

注释很详细&#xff0c;直接上代码 上一篇 新增内容 v-model.trim 自动去除首尾空格v-model.number 自动转换成数字类型 源码 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" con…

微信小程序(六)定位搜索

一、引言 作者上一章讲了微信小程序的地图实现微信小程序&#xff08;五&#xff09;地图-CSDN博客&#xff0c;但是还有一个功能是和地图紧密结合的&#xff0c;那就是位置搜索定位&#xff0c;这里作者讲讲实现和原理&#xff0c;包括城市筛选。 二、定位搜索实现 1、位置搜…

Mongodb前后端整合篇

一、前端篇 1.1mongoose介绍 Mongoose 是一个对象文档模型库&#xff0c;官网 http://www.mongoosejs.net/ 方便使用代码操作 mongodb 数据库pnpm i mongoose5.13.15 1.2初步使用 import mongoose from mongoose; //设置 strictQuery 为 true mongoose.set(strictQuery, true…

【D3.js Tidy tree绘制树形图,单棵树,左右树,平移,拖拽,树形中的天花板实现,源码实现】

这里写自定义目录标题 D3.js Tidy tree绘制树形图,单棵树,左右树,平移,拖拽,树形中的天花板实现,源码实现D3 简介D3 官网有很多例子,这里说的是Tidy tree[树形图表svg][左侧关系->中间对象<-右侧关系 ] 树形实现 D3.js Tidy tree绘制树形图,单棵树,左右树,平移,拖拽,树形…

网易云信携手 DCloud,共同助力应用开发效率飞升

近日&#xff0c;持续数月的 DCloud 2023 插件开发大赛正式放榜&#xff0c;网易云信音视频呼叫组件获得了本次大赛二等奖。 作为大赛获奖的优秀插件&#xff0c;云信 RTC 呼叫组件已正式在 DCloud 官方插件市场上线&#xff0c;方便企业开发者快速下载和集成&#xff0c;以丰富…

如何快速写一份简历

文章目录 如何快速写一份简历一些写简历的技巧 最近一段时间一直在忙简历相关的事情&#xff0c;起初是有一个其他行业的朋友问我&#xff0c;说这些简历我写了好久真难写&#xff0c;我说你可以借助AI&#xff0c;现在这种工具多了去了&#xff0c;为什么不借助呢&#xff1f;…

最简单的ubuntu安装docker教程

本文参考自docker官方教程&#xff1a;ubuntu上安装docker 一、安装Docker 第一步&#xff1a;添加Docker官方的GPG密钥 直接复制所有代码&#xff0c;作为一行运行即可 sudo apt-get update sudo apt-get install ca-certificates curl sudo install -m 0755 -d /etc/apt/k…

Redis性能管理和集群的三种模式(二)

一、Redis集群模式 1.1 redis的定义 redis 集群 是一个提供高性能、高可用、数据分片、故障转移特性的分布式数据解决方案 1.2 redis的功能 数据分片&#xff1a;redis cluster 实现了数据自动分片&#xff0c;每个节点都会保存一份数据故障转移&#xff1a;若个某个节点发生故…

WordPress上建立电商平台

WordPress是一个功能强大的内容管理系统&#xff08;CMS&#xff09;&#xff0c;它可以被用来建立各种类型的网站&#xff0c;包括电商平台。要在WordPress上建立电商平台&#xff0c;你可以遵循以下步骤。北京木奇移动技术有限公司&#xff0c;专业的软件外包开发公司&#x…

.NET MAUI使用Visual Studio Android Emulator(安卓模拟器)运行

Android Emulator&#xff08;安卓模拟器&#xff09;运行&#xff1a; 安卓模拟器一直卡在不动&#xff1a; 在某些情况下&#xff0c;在“打开或关闭 Windows 功能”对话框中启用 Hyper-V 和 Windows 虚拟机监控程序平台后可能无法正确启用Hyper-V。 我就是开启Hyper-V才把安…

2024 MathorCupB 题 甲骨文智能识别中原始拓片单字自动分割与识别研究

一、问题重述 甲骨文是我国目前已知的最早成熟的文字系统&#xff0c;它是一种刻在龟甲或兽骨上的古老文字。甲骨文具有极其重要的研究价值&#xff0c;不仅对中国文明的起源具有重要意义&#xff0c;也对世界文明的研究有着深远影响。在我国政府的大力推动下&#xff0c;甲骨…

DS数模-Mathorcup妈妈杯C题思路

2024Mathorcup数学建模挑战赛&#xff08;妈妈杯&#xff09;C题保姆级分析完整思路代码数据教学 C题题目&#xff1a;物流网络分拣中心货量预测及人员排班 接下来我们将按照题目总体分析-背景分析-各小问分析的形式来 总体分析&#xff1a;题目要求我们处理的是一个关于物流…

从“黑箱”到“透明”:云里物里电子标签助力汽车总装数字化转型

“汽车总装”指“汽车产品&#xff08;包括整车及总成等&#xff09;的装配”&#xff0c;是把经检验合格的数以百计、或数以千计的各种零部件按照一定的技术要求组装成整车及发动机、变速器等总成的工艺过程&#xff0c;是汽车产品制造过程中最重要的工艺环节之一。 其中&…