linux第二课(docker的安装使用)
目录
一.关于docker
(1)背景引入
(2)docker介绍
(3)功能
(4)Docker架构
二.docker的安装及相关的命令
(1)docker的安装
(2)docker的配置
(3)docker镜像命令
(4)容器命令
三.docker安装myaql
编辑 四.数据卷挂载
1.数据卷挂载引入
2.数据卷挂载图解
3.数据卷的安装与相关操作
一.关于docker
(1)背景引入
由于在linux上我们要安装其它的软件如:jdk,mysql等,直接在linux上安装非常的麻烦,由于软件和linux系统之间是强关联的,所以直接在linux系统上安装与卸载软件非常的麻烦,需要各种配置,启动,卸载时有些还需要删除注册表非常的麻烦,为此就有了docker,直接将docker安装到linux上,再将其他软件安装到docker上,这样就使得软件和linux分离开,安装卸载就变得简单了。
(2)docker介绍
(1)docker是一个一个应用打包、分发、部署的容器 。
(2)Docker可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的Linux 机器上。
容器是完全使用沙箱机制,相互隔离 ,容器性能开销极低你也可以把它理解为一个轻量的虚拟机,它只虚拟你软件需要的运行环境,多余的一点都不要,而普通虚拟机则是一个完整而庞大的系统,包含各种不管你要不要的软件。总结 : docker 是一种容器技术,解决软件跨环境迁移的问题
(3)功能
(1)Docker是一个容器技术,用来将我们的软件和相关的依赖以及相关的库打包成一个安装包。
(2)可以将我们打包好的"安装包"(镜像)通过上传到镜像仓库,可以让其他人也访问。
(3)只要我们拿到打包好的"安装包"就可以使用相关命令模拟出该软件的运行环境然后就可以在相关的操作系统上运行。
(4)Docker架构
仓库( Repository ): 是 docker 提供的一个用来保存镜像的仓库 .镜像( Image ) : 镜像就是一个可执行的包 , 用来创建容器 ,docker 中每一个软件就是一个镜像 .容器( Container ): 容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等。(各个容器之间是相互独立的)

二.docker的安装及相关的命令
(1)docker的安装
docker可以运行到各种的操作系统上,本次以CentOS8安装 Docker。
yum install -y yum-utils
2.设置更新docker镜像源
yum-config-manager \--add-repo \https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
3.安装
yum install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin
4.测试docker版本
docker -v

5.启动与停止常用命令
docker安装成功后并没有启动,所以安装成功后需要使用启动命令启动docker启动命令systemctl start docker关闭命令systemctl stop docker设置开机自动启动systemctl enable docker
(2)docker的配置
配置镜像加速
1.在etc下创建docker目录
mkdir -p /etc/docker
2.进入docker目录
cd /etc/docker
3.在docker目录中创建daemon.json文件
touch daemon.json

4.修改文件
vim daemon.json
{"registry-mirrors": ["https://dockerhub.icu"]}

5.重载配置
systemctl daemon-reload
6.重启
systemctl restart docker
注意:该镜像配置可能不成功无法连接镜像库(如下从配置的镜像仓库下载mysql镜像失败)

这时候就可以使用本地的镜像,将如mysql镜像即为以tar结尾的文件直接拖到在opt中,这样的话就可以不用从docker仓库中下载镜像了。

(3)docker镜像命令
1.镜像列表
docker images

2. 从docker仓库拉取镜像到本地仓库
docker pull
3.删除本地镜像(该镜像有容器后不能删除,必须先删除该镜像容器后才能删除该容器)
docker rmi 镜像名+版本 / 镜像 id
4. 从dockerfile构建镜像
docker build
5.保存镜像到本地,生成tar文件
docker save
6.载入本地镜像
docker load -i 镜像名

7.推送镜像到服务器(目前用不到)
docker push
(4)容器命令
1.创建一个新的容器并运行
docker run 镜像名
docker ps -a

docker start 容器名
docker stop 容器名
docker rm 容器名
docker logs 容器名
三.docker安装myaql
1.安装mysql
docker run -d -p 3306:3306 \--name mysql \--restart=always \--privileged=true \-e TZ=Asia/Shanghai \-e MYSQL_ROOT_PASSWORD=root \mysql:8.0

2.进入到容器
docker exec -it 容器名 / 容器 id bash
3.登录mysql
mysql -uroot -proot
4. 修改root账号加密方式(注意登录进去后一定要修改root加密方式否则mysql连接linux中mysql连接不到)
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';
5. 退出
exit

四.数据卷挂载
1.数据卷挂载引入
我们在docker上安装好软件后,软件在容器中,以mysql为例,在mysql容器中要对mysql的数据进行操作必须访问mysql容器中存放mysql数据的目录,mysql将数据存放到data目录中,以删除操作为例如果在操作mysql时删除了该容器,那么mysql数据库中的数据都会被删除,为了防止此现象出现就引入了数据卷挂载,在创建容器时就在linux(宿主机)中创建一个目录(数据卷),用该目录与容器中存放数据的目录实现挂载,这样即时删除了该容器,但容器中数据还在,操作直接对该挂载进行操作。
2.数据卷挂载图解

数据卷是一个虚拟目录,是容器内目录与宿主机目录之间映射的桥梁。
3.数据卷的安装与相关操作
(1)创建mysql数据卷
mkdir -p /opt/mysql/data
(2)安装mysqkl数据卷与容器
docker run -d -p 3306:3306 \--name mysql \--restart=always \--privileged=true \-e TZ=Asia/Shanghai \-e MYSQL_ROOT_PASSWORD=root \-v /opt/mysql/data:/var/lib/mysql \mysql:8.0
(3)后续操作与创建mysql容器一样
其他软件安装操作一样
相关文章:
linux第二课(docker的安装使用)
目录 一.关于docker (1)背景引入 (2)docker介绍 (3)功能 (4)Docker架构 二.docker的安装及相关的命令 (1)docker的安装 (2)docker的配置 (3)docker镜像命令 (4)容器命令 三.docker安装myaql 编辑 四.数据卷挂载 1.数据卷挂载引入 2.数据卷挂载图解 3.数据卷的安装…...
Java数据存储结构——二叉查找树
文章目录 22.1.2二叉查找树22.1.2.1 概述22.1.2.1二叉查找树添加节点22.1.2.2二叉查找树查找节点22.1.2.3 二叉树遍历22.1.2.4 二叉查找树的弊端 22.1.2二叉查找树 22.1.2.1 概述 二叉查找树,又称二叉排序树或者二叉搜索树 二叉查找树的特点: 每一个节点上最多有…...
JavaScript 事件处理
一、简介 事件:发生在HTML元素上的事情,可以是用户的行为,也可以是浏览器的行为,如 用户点击了某个HTML元素用户将鼠标移动到某个HTML元素上用户输入数据时光标离开页面加载完成 事件源:事件触发的源头…...
容器技术--Docker应用部署
应用部署 容器部署mysql 搜索并拉取镜像;基于镜像启动容器,注意端口映射、目录映射启动后即可连接# 搜索镜像 docker search mysql # 拉取镜像 docker pull mysql:5.7 # docker pull mysql 默认拉取最新的# 创建mysql容器, -p端口映射(宿主端口:容器端口) -e 环境变量,镜…...
医院管理|基于java的医院管理系统小程序(源码+数据库+文档)
医院管理系统小程序 目录 基于java的医院管理系统小程序 一、前言 二、系统设计 三、系统功能设计 医生信息管理 排班信息管理 科室信息管理 科室预约 病历信息 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码获取:…...
golang学习笔记21——golang协程管理及sync.WaitGroup的使用
推荐学习文档 golang应用级os框架,欢迎stargolang应用级os框架使用案例,欢迎star案例:基于golang开发的一款超有个性的旅游计划app经历golang实战大纲golang优秀开发常用开源库汇总想学习更多golang知识,这里有免费的golang学习笔…...
C++初阶大全
目录 一.命名空间 1.命名空间定义 2.命名空间使用 二.C输入&输出 三.缺省参数 四. 函数重载 五.引用 1.常引用 2.传值、传引用效率比较 3.引用和指针的区别 4.引用和指针的不同点: 小知识点: 六.内联函数 七.auto关键字(C11) 1.auto的使用细则 八.基于范围…...
使用Redis实现用户关注博客的推模式
目录 一、思路 二、实现代码: 一、思路 发布者: 这里采用redis的zset结构,将键设置为被推送用户id,值设置为博客id,score设置为时间戳 推送之前先查到当前发布博客用户的粉丝有哪些,然后去循环挨个推送…...
python常用模块之time、datetime、randow(14)
文章目录 前言1、time模块1.1 导入模块1.2 使用方法1.2.1 时间戳1.2.2 程序休眠1.2.3 扩展:按某种格式显示当前时间1.2.4 结构化时间 2、datetime模块2.1 导入模块2.2 使用方法2.2.1 得到当前系统的时间2.2.2 拓展:编写一个时钟小程序 3、random模块3.1 …...
根据NVeloDocx Word模板引擎生成Word(六-结束)
前面几篇已经把E6开发平台配套的Word模版隐藏NVeloDocx的基础用法介绍了一遍,这些基础用法基本上可以完全覆盖实际业务的绝大部分需求。所以我们这一篇就介绍一些边边角角的内容,给本系列来一个首尾。 本篇的主要内容有: 1、汇总计算&#…...
Android架构组件:MVVM模式的实战应用与数据绑定技巧
目录 引言 一、MVVM模式概述 1.1 MVVM模式简介 1.2 MVVM模式的优势 二、MVVM模式的实现 2.1 项目环境配置 2.2 创建MVVM组件 2.2.1 创建数据模型 2.2.2 创建数据仓库 2.2.3 创建ViewModel 2.2.4 创建布局文件 2.2.5 创建RecyclerView适配器 2.3 在Activity中绑定V…...
调用系统的录音设备提示:line with format PCM_SIGNED 16000.0 Hz
javax.sound.sampled.LineUnavailableException: line with format PCM_SIGNED 16000.0 Hz, 8 bit, mono, 1 bytes/frame, not supported. 打开 设置->隐私->麦克风->允许应用访问你的麦克风 与 16000Hz没关系 与 16000Hz没关系 与 16000Hz没关系...
android BLE 蓝牙的连接(二)
下面是基于实际的项目得到的具体步骤及核心代码 1、权限问题 先判断手机是否满足android4.3以上版本,再判断手机是否开启蓝牙 主要涉及蓝牙权限和位置权限,注意不同android版本之间权限申请的差异,以及android权限动态申请和静态申请的区别 …...
改编pikachu的打靶经历(题目不全)
前言 题目很少,只做了一些。正常版本的,完整的pikachu可参考下面这个师傅写的 https://www.cnblogs.com/henry666/p/16947270.html xss (get)反射xss 先尝试 1 这里有长度限制,而且,我改了长度…...
Linux进阶 修改文件所有者
修改文件所属组群——chgrp 修改文件所属组群很简单-chgrp命令,就是change group的缩写(我们可以利用这些来记忆命令) 语法:chgrp 组群 文件名/目录 举例: [root@redhat ~]# groupadd groupa[root@redhat ~]# groupadd groupb[root@redhat ~]# useradd -g groupa zgz[r…...
第312题|二重积分求旋转体体积(二)|武忠祥老师每日一题
解题思路:先画出图像,再利用旋转体体积计算公式进行解题。 1. 旋转体体积计算公式: 2.点到直线计算公式: 有了上面两条知识储备之后我们开始计算。 第一步:先计算出点到直线的距离: ymx,y-mx…...
redis基本数据结构-set
文章目录 1. set的基本介绍1.1. set底层结构之hash表的简单介绍1.2. 常用命令 2. 常见的业务场景2.1. 标签系统2.2. 社交网络好友关系 1. set的基本介绍 参考链接:https://mp.weixin.qq.com/s/srkd73bS2n3mjIADLVg72A redis 的 set 数据结构是一个无序的集合&#…...
Android 应用安装-提交阶段
经过前面准备、浏览、协调这些步骤,马上要进入提交阶段了。所谓提交,就是把这些安装应用的相关信息和状态都放到系统中。对于已安装普通应用,它其实分为两个步骤,先卸载旧包,再安装新包。当然,如果是新安装…...
强化学习Reinforcement Learning|Q-Learning|SARSA|DQN以及改进算法
一、强化学习RL 强化学习是机器学习的一个重要的分支,是一种有效的工具,在文献中被广泛用于解决MDP问题。在一个强化学习过程中,一个智能体只能通过和它所处的环境互动学习最优策略。特别地,智能体首先观察自己当前的状态…...
【HarmonyOS NEXT开发】如何设置水平/垂直方向的左/居中/右对齐——RelativeContainer的AlignRules设置
文章目录 【HarmonyOS NEXT开发】如何设置水平/垂直方向的左/居中/右对齐——RelativeContainer的AlignRules设置RelativeContainer 和 AlignRules 的关系AlignRules 语法详解 【HarmonyOS NEXT开发】如何设置水平/垂直方向的左/居中/右对齐——RelativeContainer的AlignRules设…...
华为云AI开发平台ModelArts
华为云ModelArts:重塑AI开发流程的“智能引擎”与“创新加速器”! 在人工智能浪潮席卷全球的2025年,企业拥抱AI的意愿空前高涨,但技术门槛高、流程复杂、资源投入巨大的现实,却让许多创新构想止步于实验室。数据科学家…...
XCTF-web-easyupload
试了试php,php7,pht,phtml等,都没有用 尝试.user.ini 抓包修改将.user.ini修改为jpg图片 在上传一个123.jpg 用蚁剑连接,得到flag...
OpenLayers 可视化之热力图
注:当前使用的是 ol 5.3.0 版本,天地图使用的key请到天地图官网申请,并替换为自己的key 热力图(Heatmap)又叫热点图,是一种通过特殊高亮显示事物密度分布、变化趋势的数据可视化技术。采用颜色的深浅来显示…...
Golang 面试经典题:map 的 key 可以是什么类型?哪些不可以?
Golang 面试经典题:map 的 key 可以是什么类型?哪些不可以? 在 Golang 的面试中,map 类型的使用是一个常见的考点,其中对 key 类型的合法性 是一道常被提及的基础却很容易被忽视的问题。本文将带你深入理解 Golang 中…...
汽车生产虚拟实训中的技能提升与生产优化
在制造业蓬勃发展的大背景下,虚拟教学实训宛如一颗璀璨的新星,正发挥着不可或缺且日益凸显的关键作用,源源不断地为企业的稳健前行与创新发展注入磅礴强大的动力。就以汽车制造企业这一极具代表性的行业主体为例,汽车生产线上各类…...
Mysql中select查询语句的执行过程
目录 1、介绍 1.1、组件介绍 1.2、Sql执行顺序 2、执行流程 2.1. 连接与认证 2.2. 查询缓存 2.3. 语法解析(Parser) 2.4、执行sql 1. 预处理(Preprocessor) 2. 查询优化器(Optimizer) 3. 执行器…...
LRU 缓存机制详解与实现(Java版) + 力扣解决
📌 LRU 缓存机制详解与实现(Java版) 一、📖 问题背景 在日常开发中,我们经常会使用 缓存(Cache) 来提升性能。但由于内存有限,缓存不可能无限增长,于是需要策略决定&am…...
论文阅读笔记——Muffin: Testing Deep Learning Libraries via Neural Architecture Fuzzing
Muffin 论文 现有方法 CRADLE 和 LEMON,依赖模型推理阶段输出进行差分测试,但在训练阶段是不可行的,因为训练阶段直到最后才有固定输出,中间过程是不断变化的。API 库覆盖低,因为各个 API 都是在各种具体场景下使用。…...
关于easyexcel动态下拉选问题处理
前些日子突然碰到一个问题,说是客户的导入文件模版想支持部分导入内容的下拉选,于是我就找了easyexcel官网寻找解决方案,并没有找到合适的方案,没办法只能自己动手并分享出来,针对Java生成Excel下拉菜单时因选项过多导…...
在 Spring Boot 中使用 JSP
jsp? 好多年没用了。重新整一下 还费了点时间,记录一下。 项目结构: pom: <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://ww…...
