Docker常用软件安装

文章目录

    • 1.安装Tomcat
        • 1.docker hub查找镜像并复制拉取镜像命令
        • 2.拉取镜像到本地
          • 1.执行官网命令
          • 2.查看是否拉取成功
        • 3.启动tomcat
        • 4.退出和重启
          • 1.由于是以交互方式启动的,所以不方便,直接ctrl + c退出
          • 2.查看当前的容器
          • 3.使用docker start 命令启动容器,这次就是后台启动了
        • 5.访问tomcat首页
          • 1.宝塔和腾讯云安全组开启8080端口
          • 2.访问首页,发现是404,原因是新版的tomcat有所调整
          • 3.进入容器发现webapps没有东西
          • 4.将空的webapps删除,webapps.dist修改为webapps即可
          • 5.再次访问,成功!
        • 6.删除tomcat
          • 1.exit退出并强制删除
          • 2.删除镜像
        • 7.安装免修改版本的tomcat8
          • 1.直接运行run命令,如果本地没有会自动去远程仓库拉
          • 2.查看运行状态
          • 3.访问首页
    • 2.MySQL安装
        • 1.拉取MySQL5.7到本地
        • 2.启动mysql容器
        • 3.进入容器实例
        • 4.登录mysql
        • 5.测试MySQL使用
        • 6.使用IDEA连接这个数据库
          • 1.连接成功
          • 2.可以正常使用
        • 7.中文乱码问题
          • 1.测试插入中文
          • 2.查看一下docker中的默认字符集编码(在mysql容器内执行!)
        • 8.容器数据卷问题
          • 1.删除这个mysql容器,此时数据都没了,所以需要容器数据卷
        • 9.安装mysql实战版
          • 1.启动mysql容器,并设置容器数据卷
          • 2.查看容器
            • 1.查看运行情况
            • 2.查看详细信息
          • 3.解决中文乱码问题
            • 1.进入/mysql5.7/mysql1/conf
            • 2.创建my.cnf并写入配置内容
            • 3.重启mysql容器使其生效
            • 4.重新登陆mysql容器,查看编码
            • 5.插入中文测试
          • 4.测试删除MySQL
            • 1.删除
            • 2.再重新启动mysql
            • 3.查看数据,成功恢复
    • 3.Redis常规安装
        • 1.拉取redis:6.0.8到本地
        • 2.Redis基本使用(一般不这么用)
          • 1.启动Redis
          • 2.进入Redis
          • 3.测试使用
        • 3.在宿主机新建目录 /app/redis
        • 4.从redis6.0.8中得到一份redis.conf的配置文件
          • 1.将压缩包上传到/opt目录下
          • 2.进入/opt目录然后解压
          • 3.复制一份redis.conf到/app/redis目录下
        • 5.对配置文件进行修改
          • 1.编辑配置文件
          • 2.设置redis密码 requirepass foobared
          • 3.使redis支持远程访问 bind 127.0.0.1 和 protected-mode
          • 4.设置daemonize no,如果是yes会与docker的-d方式冲突
        • 6.启动Redis
        • 7.连接Redis
          • 1.使用exec命令进入
          • 2.连接redis-cli
          • 3.证明一下读取到了自己的配置文件
            • 1.退出容器,修改/app/redis/redis.conf的databases为10
            • 2.重启一下Redis容器
            • 3.重新连接redis-cli,测试,发现确实只有10个库了
          • 4.使用Jedis连接Redis测试
            • 1.前提条件
            • 2.测试连接

1.安装Tomcat

1.docker hub查找镜像并复制拉取镜像命令

https://hub.docker.com/

image-20240518141410475

image-20240518141433233

2.拉取镜像到本地
1.执行官网命令
docker pull tomcat

image-20240518141558793

2.查看是否拉取成功
docker images tomcat

image-20240518141725161

3.启动tomcat

image-20240518141830918

docker run -it -p 8080:8080 --name myfirtomcat tomcat

image-20240518141926716

4.退出和重启
1.由于是以交互方式启动的,所以不方便,直接ctrl + c退出
2.查看当前的容器
docker ps -a

image-20240518142128360

3.使用docker start 命令启动容器,这次就是后台启动了
docker start myfirtomcat

image-20240518142237239

5.访问tomcat首页
1.宝塔和腾讯云安全组开启8080端口
systemctl start firewalld && firewall-cmd --permanent --add-port=8080/tcp && firewall-cmd --reload && firewall-cmd --query-port=8080/tcp

image-20240518142802187

2.访问首页,发现是404,原因是新版的tomcat有所调整

image-20240518142908011

3.进入容器发现webapps没有东西

image-20240518143324696

4.将空的webapps删除,webapps.dist修改为webapps即可

image-20240518143438645

5.再次访问,成功!

image-20240518143913603

6.删除tomcat
1.exit退出并强制删除

image-20240518144234105

2.删除镜像

image-20240518144352467

7.安装免修改版本的tomcat8
1.直接运行run命令,如果本地没有会自动去远程仓库拉
docker run -d -p 8080:8080 --name mytomcat8 billygoo/tomcat8-jdk8

image-20240518144634541

2.查看运行状态

image-20240518144646105

3.访问首页

image-20240518144706497

2.MySQL安装

1.拉取MySQL5.7到本地
docker pull mysql:5.7

image-20240518145307982

2.启动mysql容器
  • 端口映射为8080
  • root的密码为root
docker run -p 8080:3306 --name mysql5.7 -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7

image-20240518145852883

3.进入容器实例
docker exec -it 33fa76aff770 /bin/bash
4.登录mysql
mysql -u root -p

image-20240518150219754

5.测试MySQL使用

image-20240518150509489

6.使用IDEA连接这个数据库
1.连接成功
2.可以正常使用

image-20240518150828221

7.中文乱码问题
1.测试插入中文

image-20240518151101769

2.查看一下docker中的默认字符集编码(在mysql容器内执行!)
show variables like 'character%';

image-20240518151320024

8.容器数据卷问题
1.删除这个mysql容器,此时数据都没了,所以需要容器数据卷

image-20240518151519242

9.安装mysql实战版
1.启动mysql容器,并设置容器数据卷
  • 端口映射为8080
  • root用户密码为root
  • /mysql5.7/mysql1/data 映射 /var/lib/mysql
  • /mysql5.7/mysql1/log 映射 /var/log/mysql
  • /mysql5.7/mysql1/conf 映射 /etc/mysql/conf.d
  • 容器名字为mysql1
docker run -d -p 8080:3306 --privileged=true \
-v /mysql5.7/mysql1/data:/var/lib/mysql \
-v /mysql5.7/mysql1/log:/var/log/mysql \
-v /mysql5.7/mysql1/conf:/etc/mysql/conf.d \
-e MYSQL_ROOT_PASSWORD=root \
--name mysql1 mysql:5.7
2.查看容器
1.查看运行情况

image-20240518152237504

2.查看详细信息
docker inspect mysql1

image-20240518152339695

3.解决中文乱码问题
1.进入/mysql5.7/mysql1/conf
cd /mysql5.7/mysql1/conf
2.创建my.cnf并写入配置内容
echo "[client]
default_character_set=utf8mb4[mysqld]
collation_server = utf8mb4_unicode_ci
character_set_server = utf8mb4" > my.cnf

image-20240518153142405

3.重启mysql容器使其生效
docker restart mysql1
4.重新登陆mysql容器,查看编码

image-20240518153448162

5.插入中文测试
create database db01;
use db01;
create table test
(id int,name varchar(32)
);
insert into test (id, name)
values (1, '孙显圣');
select *
from test;

image-20240518153736825

4.测试删除MySQL
1.删除

image-20240518154123897

2.再重新启动mysql
docker run -d -p 8080:3306 --privileged=true \
-v /mysql5.7/mysql1/data:/var/lib/mysql \
-v /mysql5.7/mysql1/log:/var/log/mysql \
-v /mysql5.7/mysql1/conf:/etc/mysql/conf.d \
-e MYSQL_ROOT_PASSWORD=root \
--name mysql1 mysql:5.7

image-20240518154255546

3.查看数据,成功恢复

image-20240518155304563

3.Redis常规安装

1.拉取redis:6.0.8到本地
docker pull redis:6.0.8
2.Redis基本使用(一般不这么用)
1.启动Redis
docker run -d -p 8080:6379 redis:6.0.8

image-20240518160006255

2.进入Redis
docker exec -it 843638d7e126 /bin/bash
3.测试使用

image-20240518160146499

3.在宿主机新建目录 /app/redis
mkdir -p /app/redis

image-20240518160711297

4.从redis6.0.8中得到一份redis.conf的配置文件
1.将压缩包上传到/opt目录下

image-20240518163817117

2.进入/opt目录然后解压
cd /opt && tar -zxvf redis-6.0.8.tar.gz
3.复制一份redis.conf到/app/redis目录下
cp /opt/redis-6.0.8/redis.conf /app/redis/redis.conf

image-20240518164226651

5.对配置文件进行修改
1.编辑配置文件
vim /app/redis/redis.conf

image-20240518164504437

2.设置redis密码 requirepass foobared

image-20240503115631730

image-20240518165050143

3.使redis支持远程访问 bind 127.0.0.1 和 protected-mode

image-20240518165236159

image-20240503120110957

4.设置daemonize no,如果是yes会与docker的-d方式冲突

image-20240518165440730

6.启动Redis
  • 端口映射为8080
  • 名字为myredis
  • /app/redis/redis.conf 挂载 /etc/redis/redis.conf
  • /app/redis/data:/data 挂载 /data
  • -d:后台启动
  • redis:6.0.8:镜像名字
  • redis-server /etc/redis/redis.conf 指定容器中的配置文件
docker run -p 8080:6379 --name myredis --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

image-20240518170422141

7.连接Redis
1.使用exec命令进入
docker exec -it myredis /bin/bash

image-20240518170642556

2.连接redis-cli
  • 这里的-p指向的是容器的redis端口默认是6379
  • -a参数指定密码
redis-cli -p 6379 -a 
3.证明一下读取到了自己的配置文件
1.退出容器,修改/app/redis/redis.conf的databases为10
vim /app/redis/redis.conf

image-20240518171645593

2.重启一下Redis容器
docker restart myredis

image-20240518171809741

3.重新连接redis-cli,测试,发现确实只有10个库了

image-20240518171920591

4.使用Jedis连接Redis测试
1.前提条件
  • 目前的redis在服务器上,端口是8080,也设置了密码
  • 需要确保端口开放了
  • 确保前面对配置文件都进行了相应修改
2.测试连接

image-20240518172449151

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【cocos creator 】生成六边形地图

想要生成一个六边形组成的地图 完整代码示例 以下是完整的代码示例,包含了注释来解释每一步: cc.Class({extends: cc.Component,properties: {hexPrefab: {default: null,type: cc.Prefab},mapWidth: 10, // 网格的宽度(六边形的数量&am…

【Flutter】线性布局弹性布局层叠布局

🔥 本文由 程序喵正在路上 原创,CSDN首发! 💖 系列专栏:Flutter学习 🌠 首发时间:2024年5月25日 🦋 欢迎关注🖱点赞👍收藏🌟留言🐾 目…

4、PHP的xml注入漏洞(xxe)

青少年ctf&#xff1a;PHP的XXE 1、打开网页是一个PHP版本页面 2、CTRLf搜索xml&#xff0c;发现2.8.0版本&#xff0c;含有xml漏洞 3、bp抓包 4、使用代码出发bug GET /simplexml_load_string.php HTTP/1.1 补充&#xff1a; <?xml version"1.0" encoding&quo…

内网穿透--Nps-自定义-上线

免责声明:本文仅做技术交流与学习... 目录 Nps项目: 一图通解: 1-下载nps/npc 2-服务端启动 访问web网页: 添加客户端&#xff0c;生成密匙. 3-kali客户端连接服务端 4-添加协议隧道. 5-kali生成后门&#xff1a; 6-kali创建监听: Nps项目: https://github.com/ehang…

蓝桥杯Web开发【模拟题一】15届

1.动态的Tab栏 日常在使用移动端 APP 或访问 PC 端网站的时候&#xff0c;常常发现在一些有工具栏或者 Tab 栏的页面会有顶栏固定的效果。简单来说&#xff0c;在页面未开始滚动时顶栏处在其原有的位置上&#xff0c;当页面向下滚动一定区域后&#xff0c;顶栏会跟随滚动固定在…

HTTPS证书——网站如何实现HTTPS访问?

实现网站HTTPS访问可以简化为以下四个基本步骤&#xff0c;确保过程既通俗易懂又条理清晰&#xff1a; 1. 申请SSL证书 - 目的&#xff1a;SSL证书是实现HTTPS加密的关键&#xff0c;它验证了网站的身份&#xff0c;并提供了加密数据所需的密钥。 - 操作&#xff1a;首先&…

TypeScript(持续更新中...)

1.TypeScript是什么&#xff1f; TypeScript是javaScript的超集。 2.使用TypeScript 1&#xff09;全局安装nodejs 2&#xff09;安装TypeScript编译器 npm i -g typescript 3.编译ts文件 //注意&#xff1a;需要在ts文件同级目录执行此命令&#xff0c;否则会报找不到…

遥感、GIS和GPS技术在水文、气象、灾害、生态、环境及卫生等领域中的应用

【科研必备】遥感、GIS和GPS技术在水文、气象、灾害、生态、环境及卫生等领域中的应用 (qq.com)https://mp.weixin.qq.com/s?__bizMzg2NDYxNjMyNA&mid2247565057&idx4&snecec1f5396132122acf02b188f7b74ac&chksmce6515eaf9129cfc9a6c4a16413c0d746003cc192132…

C++ Primer Plus第十七章复习题

1、iostream文件在CI/O中扮演这种角色&#xff1f; 答&#xff1a; iostream文件定义了用于管理输入和输出的类、常量和操纵符,这些对象管理用于处理I/O的流和缓冲区。该文件还创建了一些标准对象(cin、cout、cerr和 clog以及对应的宽字符对象)&#xff0c;用于处理与每个程序…

【论文笔记】| 微调LLM晶体生成

【论文笔记】| 微调LLM晶体生成 Fine-Tuned Language Models Generate Stable Inorganic Materials as Text NYU, ICLR 2024 Theme&#xff1a;Material Generation Main work&#xff1a; 微调大型语言模型以生成稳定的材料 可靠性&#xff1a;在样本结构中&#xff0c;90% …

如何修改WordPress网站的域名

我的网站用的是Hostease的虚拟主机&#xff0c;但是域名是之前在其他平台买的&#xff0c;而且已经快到期了&#xff0c;因为主机和域名在不同的平台上&#xff0c;管理不太方便&#xff0c;所以我又在Hostease重新注册了一个域名&#xff0c;然后把网站换成了新的域名&#xf…

(Java企业 / 公司项目)配置Linux网络-导入虚拟机

公司给了我一个IP地址 &#xff0c;提供了一个虚拟机或者自己搭建虚拟机&#xff0c;还有提供登录的账号密码 可以查看我之前的文章 VMware Workstation Pro 17虚拟机超级详细搭建&#xff08;含redis&#xff0c;nacos&#xff0c;docker, rabbitmq&#xff0c;sentinel&…

3D透视图模型转模型变形?---模大狮模型网

3D建模是数字艺术和设计领域中的重要技术&#xff0c;它可以为我们带来丰富多彩的视觉体验和创意表达。在本文中&#xff0c;我们将探讨一个引人注目的话题&#xff1a;3D透视图中模型转换是否会导致变形?通过深入探讨这个问题&#xff0c;我们希望能够帮助您更好地理解在3D建…

如何通过软件SPI读写W25Q64

STM32F1之SPI通信软件SPI代码编写-CSDN博客 目录 1. W25Qxx系列简介 2. W25Q64硬件电路 3. W25Q64框图 4. Flash操作注意事项 5. 代码编写 5.1 初始化 5.2 W25Q64读取ID号 5.3 W25Q64写使能 5.4 W25Q64等待忙 5.5 W25Q64页编程 5.6 W25Q64扇区擦除&#x…

WebRTC | 网络传输协议 RTP 和 RTCP

WebRTC | 网络传输协议 RTP 和 RTCP WebRTC | 网络传输协议 RTP 和 RTCP如何选择 TCP 与 UDPRTP概述工作机制报文结构RTP 的使用RTP 拓展头RTP 中的填充数据翻译器和混合器同步控制报文大小wireshark 抓取 RTP 报文 RTCP概述工作机制分组类型报文结构WebRTC 的反馈报文RTPFBPSF…

深入浅出递归算法

文章目录 递归思想递归的题目1.汉诺塔问题问题分析代码展示 2.合并两个有序链表问题分析代码展示 3.反转链表问题分析代码展示 4.两两交换 链表中的节点问题分析代码展示 总结 递归思想 递归就是将一个很大的问题拆分成子问题&#xff0c;然后再将子问题继续拆分&#xff0c;拆…

【linux-IMX6ULL-字符设备驱动简单框架实验】

目录 1. 字符设备驱动简介1.1 重要函数1.2 简单框架代码流程1.3 linux中关于驱动的重要命令 2. 字符设备驱动简单框架编写2.1 添加LICENSE信息2.2 驱动模块的入口与出口2.3 入口和出口函数的编写2.4 设备操作结构体定义2.4.1 结构体函数内容填充 3. 应用程序简介&#xff1a;4.…

Design to code(2)

【碎碎念】从七点到十一点&#xff0c;累计用时4个小时完成的代码翻译Σ(&#xffe3;。&#xffe3;ノ)ノ DCDS图 顺序图&#xff08;支付过程&#xff09; 交互图&#xff08;订单&#xff09; 我的代码 Payment public class Payment { //定义支付订单金额 private…

FL Studio2025中文最新版本专业编曲软件有哪些新功能?

FL Studio 21&#xff0c;也被音乐制作爱好者亲切地称为“水果编曲软件”&#xff0c;是比利时的Image-Line公司研发的一款完整的音乐制作环境或数字音频工作站&#xff08;DAW&#xff09;。自从1990年代推出以来&#xff0c;FL Studio 以其直观的用户界面、丰富的插件支持和强…

玩机社区 - 2024年最美社区源码开源

玩机社区 - 2024年最美社区源码开源 教程源码文档都内置到压缩包了 https://pan.baidu.com/s/1xwcscTne-JMbmKEntiuAuA?pwd78oi