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

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。

1.首先安装 yum-utils, 配置镜像源需要使用
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 镜像名
2.查看容器
docker ps -a

3.启动容器
docker start 容器名
4.停止容器
docker stop 容器名
5.删除容器 (删除容器前必须先停止容器)
docker rm 容器名
6.查看容器日志
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

docker run命令的常见参数:
--name:指定容器名称
--restart=always 自动启动
--privileged=true 拥有特权
-p:指定端口映射
-d:让容器后台运行

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元素上用户输入数据时光标离开页面加载完成 ​ 事件源:事件触发的源头&#xf…...

容器技术--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 这里有长度限制,而且,我改了长度&#xf…...

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问题。在一个强化学习过程中,一个智能体只能通过和它所处的环境互动学习最优策略。特别地,智能体首先观察自己当前的状态&#xf…...

【HarmonyOS NEXT开发】如何设置水平/垂直方向的左/居中/右对齐——RelativeContainer的AlignRules设置

文章目录 【HarmonyOS NEXT开发】如何设置水平/垂直方向的左/居中/右对齐——RelativeContainer的AlignRules设置RelativeContainer 和 AlignRules 的关系AlignRules 语法详解 【HarmonyOS NEXT开发】如何设置水平/垂直方向的左/居中/右对齐——RelativeContainer的AlignRules设…...

探索p5.js Web Editor:重构创意编程体验的开发平台

探索p5.js Web Editor:重构创意编程体验的开发平台 【免费下载链接】p5.js-web-editor The p5.js Editor is a website for creating p5.js sketches, with a focus on making coding accessible and inclusive for artists, designers, educators, beginners, and …...

10款主流施工项目管理系统对比:建筑工程企业选型参考

本文将深入对比10款建筑工程项目管理系统:Worktile、Oracle Primavera P6、Oracle Aconex、Autodesk Build、Procore、Microsoft Project、Smartsheet、monday.com、Jira Confluence、广联达数字项目管理平台。文章将从定位、适用规模、部署方式、核心模块、安全合…...

Ohm模块化扩展与面向对象语法继承:构建可维护解析器的终极指南

Ohm模块化扩展与面向对象语法继承:构建可维护解析器的终极指南 【免费下载链接】ohm A library and language for building parsers, interpreters, compilers, etc. 项目地址: https://gitcode.com/gh_mirrors/oh/ohm Ohm是一个强大的解析器构建库和语言&am…...

Agent在财务场景有哪些核心应用?深度解析2026企业智能化转型路径

站在2026年的技术节点回望,财务部门早已从传统的“记账中心”转型为企业的“战略决策大脑”。AI Agent(人工智能助手/智能体)的爆发式应用,彻底终结了繁琐的表单时代。与2024年的实验性尝试不同,当下的财务Agent具备了…...

HarmonyOS 6学习:语音识别准确率提升与错误纠正方案

引言 在HarmonyOS 6应用开发中,语音识别能力已成为构建智能交互体验的核心技术。随着AI技术的快速发展,语音识别已广泛应用于教育、办公、智能家居等多个场景。然而,在实际开发过程中,开发者常面临一个普遍问题:语音识…...

保姆级教学:用FUTURE POLICE和MySQL管理你的语音字幕数据

保姆级教学:用FUTURE POLICE和MySQL管理你的语音字幕数据 1. 为什么需要管理语音字幕数据? 想象一下这样的场景:你刚刚用FUTURE POLICE处理了100个会议录音,得到了精确到毫秒的字幕文件。这些文件散落在各个文件夹里&#xff0c…...

一键搞定完整网页截图:Chrome扩展终极解决方案

一键搞定完整网页截图:Chrome扩展终极解决方案 【免费下载链接】full-page-screen-capture-chrome-extension One-click full page screen captures in Google Chrome 项目地址: https://gitcode.com/gh_mirrors/fu/full-page-screen-capture-chrome-extension …...

深朴智能与生数科技达成深度战略合作,共筑物理世界的通用智能

4月2日,通用具身智能机器人企业北京深朴智能科技有限公司(以下简称“深朴智能”)与通用世界模型公司北京生数科技有限公司(以下简称“生数科技”)宣布达成深度战略合作。双方将围绕“通用具身智能大脑”这一核心方向展…...

MySQL 生产环境故障排查与性能优化全攻略(8.0 版本实战)

前言MySQL 作为目前企业级应用最广泛的开源关系型数据库,在生产环境中承担着核心数据存储与处理任务。默认配置往往无法满足高并发、大数据量的业务场景,同时运维过程中也会频繁遇到各类故障。本文基于 MySQL 8.0 版本,从单实例故障、主从复制…...

解锁5大核心能力:BetterJoy让Switch手柄在PC实现专业级控制

解锁5大核心能力:BetterJoy让Switch手柄在PC实现专业级控制 【免费下载链接】BetterJoy Allows the Nintendo Switch Pro Controller, Joycons and SNES controller to be used with CEMU, Citra, Dolphin, Yuzu and as generic XInput 项目地址: https://gitcode…...