当前位置: 首页 > 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,如果文档对你有帮助的话,给我点个赞赞啊!

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

http://www.lryc.cn/news/483753.html

相关文章:

  • ReactPress与WordPress:两大开源发布平台的对比与选择
  • 机器情绪及抑郁症算法
  • 01-Ajax入门与axios使用、URL知识
  • 第四十五章 Vue之Vuex模块化创建(module)
  • [2024最新] macOS 发起 Bilibili 直播(不使用 OBS)
  • Netty实现WebSocket Client三种典型方式
  • 软间隔支持向量机
  • 在C++上实现反射用法
  • 【学术会议介绍,SPIE 出版】第四届计算机图形学、人工智能与数据处理国际学术会议 (ICCAID 2024,12月13-15日)
  • 网络百问百答(一)
  • 【深圳大学】数据结构A+攻略(计软版)
  • 解读《ARM Cortex-M3 与Cortex-M4 权威指南》——第4章 架构
  • 探索 Python HTTP 的瑞士军刀:Requests 库
  • PostgreSQL 页损坏如何修复
  • Leetcode 75 Sort colors
  • 如何进行数据库连接池的参数优化?
  • 有了miniconda,再也不用担心python、nodejs、go的版本问题了
  • openresty入门教程:init_by_lua_block
  • sol机器人pump机器人如何实现盈利的?什么是Pump 扫链机器人?
  • Spring-boot 后端java配置接口返回jsp页面
  • LabVIEW车辆侧翻预警系统
  • 亲测有效:Maven3.8.1使用Tomcat8插件启动项目
  • Find My电子体温计|苹果Find My技术与体温计结合,智能防丢,全球定位
  • jmeter常用配置元件介绍总结之后置处理器
  • html5多媒体标签
  • 51c自动驾驶~合集10
  • JAVA学习日记(十五) 数据结构
  • 室内定位论文精华-无人机与机器人在地下与室内环境中的自主导航与定位新技术
  • Java 中如何自定义一个类加载器,加载自己指定的类?
  • LeetCode【0037】解数独