Docker常用软件安装

news2025/3/17 7:45:26

文章目录

    • 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.coloradmin.cn/o/1694769.html

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

相关文章

内外网文件传输安全可控的方式有哪些?这几款软件值得参考

在信息化时代,随着企业对网络安全和数据保护需求的日益增强,内外网隔离已成为一种常见的网络安全策略。内外网隔离旨在防止未经授权的访问和数据泄露,确保企业网络的安全稳定。然而,在实施内外网隔离的同时,如何实现文…

读书笔记-Java并发编程的艺术-第1章 并发编程的挑战

文章目录 1.1 上下文切换1.1.1 多线程一定快吗1.1.2 如何减少上下文切换 1.2 死锁1.3 资源限制的挑战 1.1 上下文切换 即时是单核处理器也支持多线程执行代码,CPU通过给每个线程分配CPU时间片来实现这个机制。时间片是CPU分配给多个线程的时间,因为时间…

H3CNE-6-ICMP数据包分析

ICMP:Internet Control Message Protocol ICMP用来传递差错、控制、查询等信息 Wireshark抓包 Wireshark下载国内镜像 ICMP数据包格式 Type:表示ICMP消息类型 Code:表示同一消息类型中的不同信息 ICMP消息类型和编码类型 ICMP应用 &…

idea中显示git的Local Changes

1. 第一打开idea中的Settings文件 2. 找到Version Contro中的commint 3. 取消勾选应用即可 4. 本地提交就会显示出来

Python高级进阶--dict字典

dict字典⭐⭐ 1. 字典简介 dictionary(字典) 是 除列表以外 Python 之中 最灵活 的数据类型,类型为dict 字典同样可以用来存储多个数据字典使用键值对存储数据 2. 字典的定义 字典用{}定义键值对之间使用,分隔键和值之间使用:分隔 d {中…

【Linux网络编程】传输层中的TCP和UDP(TCP篇)

【Linux网络编程】传输层中的TCP和UDP(TCP篇) 目录 【Linux网络编程】传输层中的TCP和UDP(TCP篇)TCP协议TCP协议段格式确认应答(ACK)机制(保证可靠性)超时重传机制连接管理机制理解T…

“等保测评与安全运维的协同:保障企业网络安宁

"等保测评与安全运维的协同:保障企业网络安宁"是一个涉及信息安全领域的重要话题。这里,我们可以从几个方面来探讨这个主题。 1. 等保测评(等级保护测评) 等保测评,即信息安全等级保护测评,是依…

社交媒体数据恢复:连信

在使用连信的过程中,如果我们误删了重要的照片或者文件,可以通过以下步骤进行数据恢复: 一、有备份恢复 若你在删除之前已经备份了相关照片或文件,那么恢复起来就相对容易一些。以下是具体的恢复步骤: 登录连信账号&…

vue data中的return

vue 的data return 是干啥的呢,vue中页面中绑定的变量都要放在data的return中,可以赋值,值可在script中改,修改引用就用this了 如果不使用return包裹的数据会在项目的全局中可见,会造成变量污染; 使用retu…

虚拟机启动Operating System not found找不到操作系统

错误信息 PEX-E51 No SHCP or proxyDHCP offers were received. PXE-M0F: Exiting Intel PXE ROM. Operating System not found解决方法1 到服务里面检查跟vmware相关的服务是否已经全部启动 如果服务怎么都无法启动,最简单的办法还是重装vmware 解决方法2 &#…

音视频开发5 补充 - Nginx搭建rtmp流媒体服务器,目的是让ffmpeg 可以直播推流

直播推流 ffmpeg -re -i out.mp4 -c copy flv rtmp://server/live/streamName -re, 表示按时间戳读取文件 参考: Nginx 搭建 rtmp 流媒体服务器 (Ubuntu 16.04) https://www.jianshu.com/p/16741e363a77 第一步 准备工作 安装nginx需要的依赖包 打开 ubutun 终端…

2024年5月26日 十二生肖 今日运势

小运播报:2024年5月26日,星期日,农历四月十九 (甲辰年己巳月庚寅日),法定节假日。 红榜生肖:马、猪、狗 需要注意:牛、蛇、猴 喜神方位:西北方 财神方位:…

【2024最新华为OD-C卷试题汇总】传递悄悄话的最长时间(100分) - 三语言AC题解(Python/Java/Cpp)

🍭 大家好这里是清隆学长 ,一枚热爱算法的程序员 ✨ 本系列打算持续跟新华为OD-C卷的三语言AC题解 💻 ACM银牌🥈| 多次AK大厂笔试 | 编程一对一辅导 👏 感谢大家的订阅➕ 和 喜欢💗 文章目录 前…

3.Redis之Redis的环境搭建redis客户端介绍

1.版本的选取 安装 Redis:Redis 5 系列~~ 在 Linux 中进行安装~~ Redis 官方是不支持 Windows 版本的~~ 微软维护了一个 Windows 版本的 Redis 分支 Centos和Ubuntu.Docker 2.如何进行安装??? 1.ubuntu 2.centos yum instal…

欧拉函数、快速幂、扩展欧几里得算法、中国剩余定理和高斯消元

欧拉函数 给定 n 个正整数 ai,请你求出每个数的欧拉函数。 欧拉函数的定义1∼N 中与 N 互质的数的个数被称为欧拉函数,记为 ϕ(N)。 若在算数基本定理中,Np1a11p2a2…pmm,则:ϕ(N) Np1−1/p1p2−1/p2…pm−1/pm 输…

最热门好用骨传导耳机推荐!!分享六大实用选购技巧助你挑选!

耳机基本是每人人手一台,不管是在地铁上还是在公交上,都可以看到很多人戴着耳机度过空余的时光,甚至现在人们在耳机的选择方面更加偏向于骨传导耳机,开放耳道的奇特设计在户外佩戴的时候可以更好的感知到周围的环境音,…

视频汇聚平台LntonCVS视频监控系统前端错误日志记录及Debug模式详细讲解

LntonCVS作为一种支持GB28181标准的流媒体服务平台,旨在提供一个能够整合不同厂商设备、便于管理和扩展的解决方案,以适应日益复杂的视频监控环境。通过实现设备的统一管理和流媒体的高效传输,LntonCVS帮助构建更加灵活和强大的视频监控系统。…

记录docker ps查找指定容器的几个命令

1.docker ps | grep registry 查询包含registry的容器 2.docker ps | grep -E "reigistry\s" 开启正则匹配模式,匹配registry后面为空格的容器,若是匹配一整行可以这样写docker ps | grep -E "^([0-9a-f]{12})\sregistry\s.*" 这…

中药垂直大模型汇总

中药垂直大模型汇总 2023 ShenNong-TCM Paper: ShenNong-TCM: A Traditional Chinese Medicine Large Language Model Data: https://huggingface.co/datasets/michaelwzhu/ShenNong_TCM_Dataset Code:https://github.com/michael-wzhu/ShenNong-TCM-LLM ShenNong-TCM由华东…

开关电源AC-DC(15W 3-18V可调)

简介: 该模块使用PI的TNY268PN电源芯片制作的开关电源,实现最大功率15W 3-18V可调输出(更改反馈电阻)隔离式反激电源; 简介:该模块使用PI的TNY268PN电源芯片制作的开关电源,实现最大功率15W 3-18V可调输出(更改反馈电阻,现电路图输出5V)隔离式反激电源; 一、产品简…