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

新手小白学习docker第六弹------Docker常规安装(安装tomcat、mysql、redis)

目录

  • 1 总体步骤
  • 2 安装tomcat
    • 2.1 搜索镜像
    • 2.2 拉取镜像
    • 2.3 查看镜像
    • 2.4 启动镜像
    • 2.5 访问猫首页
  • 3 安装mysql
    • 3.1 搜索镜像
    • 3.2 拉取镜像
    • 3.3 启动镜像
  • 4 安装redis
    • 4.1 拉取镜像
    • 4.2 启动镜像(法1基础版)
    • 4.3 配置文件
      • 4.3.1 在宿主机下新建目录 /app/redis
      • 4.3.2 将一个redis.conf文件模板拷贝进 /app/redis 目录下
      • 4.3.3 /app/redis 目录下修改redis.conf文件
    • 4.4 启动镜像(法2高阶版)
    • 4.5 检验
  • 5 后记

1 总体步骤

1 搜索镜像
2 拉取镜像
3 查看镜像
4 启动镜像(注意服务端口映射)
5 停止容器
6 移除容器

2 安装tomcat

2.1 搜索镜像

docker hub上面查找 billygoo/tomcat8-jdk8 镜像

docker search billygoo/tomcat8-jdk8

2.2 拉取镜像

从docker hub上拉取 billygoo/tomcat8-jdk8 镜像到本地

docker pull billygoo/tomcat8-jdk8

在这里插入图片描述

2.3 查看镜像

docker images 查看是否有拉取到的镜像

docker images billygoo/tomcat8-jdk8

在这里插入图片描述

2.4 启动镜像

使用 billygoo/tomcat8-jdk8 镜像创建容器实例(也可以说是运行镜像)

docker run -it -p 8080:8080 billygoo/tomcat8-jdk8

-p 小写,主机端口:docker容器端口
-P大写,随机分配端口
i: 交互
t: 终端
d: 后台

在这里插入图片描述

2.5 访问猫首页

在虚拟机自带的浏览器访问自己主机IP地址:8080就可以访问到猫啦
在这里插入图片描述
在这里插入图片描述

为什么不直接拉取 tomcat 呢?
其实你可以先试试,我已经试过了,直接访问不到猫的首页,需要进行配置(将webapps.dist目录换成webapps)所以我这里就直接拉取 billygoo/tomcat8-jdk8 镜像了,对,学习就是为了减少麻烦,所以这样我就减少了麻烦。

3 安装mysql

3.1 搜索镜像

在docker hub上面查找mysql镜像

docker search mysql

3.2 拉取镜像

从docker hub上拉取mysql镜像到本地标签为5.7

docker pull mysql:5.7

查看该镜像

docker images mysql:5.7

在这里插入图片描述

3.3 启动镜像

使用mysql:5.7镜像创建容器

docker run -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7
docker ps

在这里插入图片描述

docker exec -it 容器ID /bin/bash

进入数据库进行操作

mysql -uroot -p

在这里插入图片描述

create database db01;
use db01;
create table aa(id int, name varchar(20));
insert into aa values(1,'z3');
select * from aa;

在这里插入图片描述

4 安装redis

4.1 拉取镜像

从docker hub上(阿里云加速器)拉取redis镜像到本地标签为6.0.8

docker pull redis:6.0.8

这里是基本的命令,后文有一个高级一点的,即使用了容器卷,保证数据更安全。

4.2 启动镜像(法1基础版)

docker run -d -p 6379:6379 redis:6.0.8
docker exec -it 容器ID /bin/bash

在这里插入图片描述

redis-cli
set k1 v1
get k1
ping

在这里插入图片描述

4.3 配置文件

4.3.1 在宿主机下新建目录 /app/redis

mkdir -p /app/redis/

4.3.2 将一个redis.conf文件模板拷贝进 /app/redis 目录下

没有模板就到网上找一个,然后跟着下面的步骤修改就可以的

cd /app/redis/
vim redis.conf

4.3.3 /app/redis 目录下修改redis.conf文件

1 开启redis验证(可选)
requirepass 123
2 允许redis外地连接 必须
注释掉 # bind 127.0.0.1
3 daemonize no 必须
将daemonize yes注释起来或者 daemonize no设置,因为该配置和 docker run中-d参数冲突,会导致容器一直启动失败
4 开启redis数据持久化 appendonly yes(可选)

这里第一点,注意要把其他的requirepass注释掉,只留下requirepass 123,或者都注释掉,鄙人的血泪教训,解决了半天,真是服了。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4.4 启动镜像(法2高阶版)

使用redis:6.0.8镜像创建容器
这里是用了数据卷的

docker run  -p 6379:6379 --name myr3 --privileged=true -v /app/redis/redis.conf:/etc/redis/redis.conf -v /app/redis/data:/data -d redis:6.0.8 redis-server /etc/redis/redis.conf

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

docker exec -it myr3 /bin/bash
redis-cli
auth 123
set k1 v1
get k1

在这里插入图片描述

4.5 检验

证明docker启动使用了我们自己指定的配置文件

修改配置文件之前

select 15

在这里插入图片描述

我们用的配置文件,数据库默认16个
在这里插入图片描述

在/app/redis修改配置文件

databases 10

宿主机的修改会同步给docker容器里面的配置
记得重启服务
测试redis-cli连接上来第二次

docker restart myr3
redis-cli
auth 123
select 9
select 10
select 15

在这里插入图片描述

5 后记

我今天看到隔壁实验室的一对情侣了,他俩散步,那股害羞劲,隔着很远都传给我了。我跟人家暧昧的时候咋不是这样的呢~

恋爱还是看别人谈才有意思!

好吧,BB,如果文档对你有帮助的话,给我点个赞赞啊!

谢谢啦,爱情和事业总要丰收一个撒~

相关文章:

新手小白学习docker第六弹------Docker常规安装(安装tomcat、mysql、redis)

目录 1 总体步骤2 安装tomcat2.1 搜索镜像2.2 拉取镜像2.3 查看镜像2.4 启动镜像2.5 访问猫首页 3 安装mysql3.1 搜索镜像3.2 拉取镜像3.3 启动镜像 4 安装redis4.1 拉取镜像4.2 启动镜像(法1基础版)4.3 配置文件4.3.1 在宿主机下新建目录 /app/redis4.3…...

ReactPress与WordPress:两大开源发布平台的对比与选择

ReactPress与WordPress:两大开源发布平台的对比与选择 在当今数字化时代,内容管理系统(CMS)已成为各类网站和应用的核心组成部分。两款备受欢迎的开源发布平台——ReactPress和WordPress,各自拥有独特的优势和特点&am…...

机器情绪及抑郁症算法

🏡作者主页:点击! 🤖编程探索专栏:点击! ⏰️创作时间:2024年11月12日17点02分 点击开启你的论文编程之旅https://www.aspiringcode.com/content?id17230869054974 计算机来理解你的情绪&a…...

01-Ajax入门与axios使用、URL知识

欢迎来到“雪碧聊技术”CSDN博客! 在这里,您将踏入一个专注于Java开发技术的知识殿堂。无论您是Java编程的初学者,还是具有一定经验的开发者,相信我的博客都能为您提供宝贵的学习资源和实用技巧。作为您的技术向导,我将…...

第四十五章 Vue之Vuex模块化创建(module)

目录 一、引言 二、模块化拆分创建方式 三、模块化拆分完整代码 3.1. index.js 3.2. module1.js 3.3. module2.js 3.4. module3.js 3.5. main.js 3.6. App.vue 3.7. Son1.vue 3.8. Son2.vue 四、访问模块module的state ​五、访问模块中的getters ​六、mutati…...

[2024最新] macOS 发起 Bilibili 直播(不使用 OBS)

文章目录 1、B站账号 主播认证2、开启直播3、直播设置添加素材、隐私设置指定窗口添加/删除 窗口 4、其它说明官方直播帮助中心直播工具教程 目前搜到的 macOS 直播教程都比较古早,大部分都使用 OBS,一番探索下来,发现目前已经不需要 OBS了&a…...

Netty实现WebSocket Client三种典型方式

一、简单版本 package com.ptc.ai.box.biz.relay.client;import io.netty.bootstrap.Bootstrap; import io.netty.channel.Channel; import io.netty.channel.ChannelFuture; import io.netty.channel.ChannelFutureListener; import io.netty.channel.ChannelHandlerContext;…...

软间隔支持向量机

软间隔支持向量机 ​ 我们先直接给出软间隔支持向量机的形式: P min ⁡ ω , b , ζ 1 2 ∥ ω ∥ 2 2 − C ∑ i 1 m ζ i s . t . y i ( ω x i b ) ≥ 1 − ζ i , i 1 , 2 , 3.. m ζ i ≥ 0 , i 1 , 2 , 3.. m P \min_{\omega,b,\zeta} \frac{1}{2}\Ve…...

在C++上实现反射用法

0. 简介 最近看很多端到端的工作,发现大多数都是基于mmdet3d来做的,而这个里面用的比较多的形式就是反射机制,这样其实可以比较好的通过类似plugin的形式完成模型模块的插入。当然我们这里不是来分析python的反射机制的。我们这篇文章主要来…...

【学术会议介绍,SPIE 出版】第四届计算机图形学、人工智能与数据处理国际学术会议 (ICCAID 2024,12月13-15日)

第四届计算机图形学、人工智能与数据处理国际学术会议 2024 4th International Conference on Computer Graphics, Artificial Intelligence and Data Processing (ICCAID 2024) 重要信息 大会官网:www.iccaid.net 大会时间:2024年12月13-15日 大会地…...

网络百问百答(一)

什么是链接? 链接是指两个设备之间的连接,它包括用于一个设备能够与另一个设备通信的电缆类型和协议。OSI参考模型的层次是什么? 有7个OSI层:物理层,数据链路层,网络层,传输层,会话层…...

【深圳大学】数据结构A+攻略(计软版)

1. 考试 1.1 形式 分为平时,笔试,机试三部分。其中: 平时占30%,包含平时OJ测验和课堂练习,注意这个可能会因老师的不同和课题组的新策略而改变。笔试占60%,是分值占比的主要部分。机试占10%。 1.2 题型…...

解读《ARM Cortex-M3 与Cortex-M4 权威指南》——第4章 架构

推荐大佬做的讲解 可以帮助加深理解 ARM架构及汇编 Cortex-M3 和 Cortex-M4 处理器都是基于ARMv7-M架构 需要完成对编程模型、异常(如中断)如何处理、存储器映射、如何使用外设以及如何使用微控制器供应商提供的软件驱动库文件等 Cortex-M3和Cortex-M4处理器有两种操作状态…...

探索 Python HTTP 的瑞士军刀:Requests 库

文章目录 探索 Python HTTP 的瑞士军刀:Requests 库第一部分:背景介绍第二部分:Requests 库是什么?第三部分:如何安装 Requests 库?第四部分:Requests 库的基本函数使用方法第五部分&#xff1a…...

PostgreSQL 页损坏如何修复

PostgreSQL 错误:关系 base/46501/52712 中的块 480 存在无效的页。 当我们在使用 PostgreSQL 数据库的时候,如果服务器发生 CRASH 或者断电等异常情况的时候,有可能会遇到上面的这个报错信息。那么我们如何去修复这个数据呢,以及…...

Leetcode 75 Sort colors

题意:荷兰国旗问题,给一个数组[0,0,2,1,0],构造成[0,0,0,1,2]的形式,分成三块 https://leetcode.com/problems/sort-colors/description/ 题解: 在任意时刻,i 左边的数都是 0,k 右边的数都是 …...

如何进行数据库连接池的参数优化?

以下是进行数据库连接池参数优化的一些方法: 一、确定合适的初始连接数: 考虑因素:数据库的规模、应用程序的启动需求以及预期的初始负载。如果数据库规模较小且应用程序启动时对数据库的即时访问需求不高,可以将初始连接数设置…...

有了miniconda,再也不用担心python、nodejs、go的版本问题了

哈喽,大家好!我是「励志前端小黑哥」,我带着最新发布的文章又来了! 专注前端领域10年,专门分享那些没用的前端知识! 今天要分享的内容,是一个免费的环境管理工具,它叫Miniconda&…...

openresty入门教程:init_by_lua_block

init_by_lua_block 是 Nginx 配置中用于在 Nginx 启动时执行 Lua 脚本的一个指令。这个指令通常用于初始化全局变量、设置共享内存,或者执行一些需要在服务器启动时完成的准备工作。 以下是一个简单的 init_by_lua_block 使用示例: 1. 安装 Nginx 和 L…...

sol机器人pump机器人如何实现盈利的?什么是Pump 扫链机器人?

什么是Pump 扫链机器人,它的盈利逻辑优化策略是什么? Pump 扫链机器人,通过智能化、自动化的买卖操作帮助投资者实现快速盈利。在此基础上,我们对该机器人的盈利逻辑进行了深度优化,涵盖了买入策略和止盈策略的各个方面…...

变量 varablie 声明- Rust 变量 let mut 声明与 C/C++ 变量声明对比分析

一、变量声明设计:let 与 mut 的哲学解析 Rust 采用 let 声明变量并通过 mut 显式标记可变性,这种设计体现了语言的核心哲学。以下是深度解析: 1.1 设计理念剖析 安全优先原则:默认不可变强制开发者明确声明意图 let x 5; …...

测试微信模版消息推送

进入“开发接口管理”--“公众平台测试账号”,无需申请公众账号、可在测试账号中体验并测试微信公众平台所有高级接口。 获取access_token: 自定义模版消息: 关注测试号:扫二维码关注测试号。 发送模版消息: import requests da…...

如何在看板中体现优先级变化

在看板中有效体现优先级变化的关键措施包括:采用颜色或标签标识优先级、设置任务排序规则、使用独立的优先级列或泳道、结合自动化规则同步优先级变化、建立定期的优先级审查流程。其中,设置任务排序规则尤其重要,因为它让看板视觉上直观地体…...

【决胜公务员考试】求职OMG——见面课测验1

2025最新版!!!6.8截至答题,大家注意呀! 博主码字不易点个关注吧,祝期末顺利~~ 1.单选题(2分) 下列说法错误的是:( B ) A.选调生属于公务员系统 B.公务员属于事业编 C.选调生有基层锻炼的要求 D…...

多模态大语言模型arxiv论文略读(108)

CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文标题:CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文作者:Sayna Ebrahimi, Sercan O. Arik, Tejas Nama, Tomas Pfister ➡️ 研究机构: Google Cloud AI Re…...

3-11单元格区域边界定位(End属性)学习笔记

返回一个Range 对象,只读。该对象代表包含源区域的区域上端下端左端右端的最后一个单元格。等同于按键 End 向上键(End(xlUp))、End向下键(End(xlDown))、End向左键(End(xlToLeft)End向右键(End(xlToRight)) 注意:它移动的位置必须是相连的有内容的单元格…...

【数据分析】R版IntelliGenes用于生物标志物发现的可解释机器学习

禁止商业或二改转载,仅供自学使用,侵权必究,如需截取部分内容请后台联系作者! 文章目录 介绍流程步骤1. 输入数据2. 特征选择3. 模型训练4. I-Genes 评分计算5. 输出结果 IntelliGenesR 安装包1. 特征选择2. 模型训练和评估3. I-Genes 评分计…...

Selenium常用函数介绍

目录 一,元素定位 1.1 cssSeector 1.2 xpath 二,操作测试对象 三,窗口 3.1 案例 3.2 窗口切换 3.3 窗口大小 3.4 屏幕截图 3.5 关闭窗口 四,弹窗 五,等待 六,导航 七,文件上传 …...

第7篇:中间件全链路监控与 SQL 性能分析实践

7.1 章节导读 在构建数据库中间件的过程中,可观测性 和 性能分析 是保障系统稳定性与可维护性的核心能力。 特别是在复杂分布式场景中,必须做到: 🔍 追踪每一条 SQL 的生命周期(从入口到数据库执行)&#…...

MySQL 索引底层结构揭秘:B-Tree 与 B+Tree 的区别与应用

文章目录 一、背景知识:什么是 B-Tree 和 BTree? B-Tree(平衡多路查找树) BTree(B-Tree 的变种) 二、结构对比:一张图看懂 三、为什么 MySQL InnoDB 选择 BTree? 1. 范围查询更快 2…...