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

目录

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

1 总体步骤

1 搜索镜像

2 拉取镜像

3 查看镜像

4 启动镜像(注意服务端口映射)

5 停止容器

6 移除容器

2 安装tomcat

2.1 搜索镜像

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

bash 复制代码
docker search billygoo/tomcat8-jdk8

2.2 拉取镜像

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

bash 复制代码
docker pull billygoo/tomcat8-jdk8

2.3 查看镜像

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

bash 复制代码
docker images billygoo/tomcat8-jdk8

2.4 启动镜像

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

bash 复制代码
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镜像

bash 复制代码
docker search mysql

3.2 拉取镜像

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

bash 复制代码
docker pull mysql:5.7

查看该镜像

bash 复制代码
docker images mysql:5.7

3.3 启动镜像

使用mysql:5.7镜像创建容器

bash 复制代码
docker run -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7
bash 复制代码
docker ps
bash 复制代码
docker exec -it 容器ID /bin/bash

进入数据库进行操作

bash 复制代码
mysql -uroot -p
bash 复制代码
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

bash 复制代码
docker pull redis:6.0.8

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

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

bash 复制代码
docker run -d -p 6379:6379 redis:6.0.8
bash 复制代码
docker exec -it 容器ID /bin/bash
bash 复制代码
redis-cli
set k1 v1
get k1
ping

4.3 配置文件

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

bash 复制代码
mkdir -p /app/redis/

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

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

bash 复制代码
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镜像创建容器

这里是用了数据卷的

bash 复制代码
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



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

4.5 检验

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

修改配置文件之前

bash 复制代码
select 15

我们用的配置文件,数据库默认16个

在/app/redis修改配置文件

bash 复制代码
databases 10

宿主机的修改会同步给docker容器里面的配置

记得重启服务

测试redis-cli连接上来第二次

bash 复制代码
docker restart myr3
redis-cli
auth 123
select 9
select 10
select 15

5 后记

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

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

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

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

相关推荐
程序猿小D12 分钟前
[附源码+数据库+毕业论文]基于Spring+MyBatis+MySQL+Maven+jsp实现的电影小说网站管理系统,推荐!
java·数据库·mysql·spring·毕业设计·ssm框架·电影小说网站
羊小猪~~18 分钟前
数据库学习笔记(十七)--触发器的使用
数据库·人工智能·后端·sql·深度学习·mysql·考研
飞询22 分钟前
Docker 安装 Elasticsearch 9
elasticsearch·docker
叁沐1 小时前
MySQL 05 深入浅出索引(下)
mysql
陈卓4102 小时前
MySQL-主从复制&分库分表
android·mysql·adb
你都会上树?2 小时前
MySQL MVCC 详解
数据库·mysql
长征coder3 小时前
AWS MySQL 读写分离配置指南
mysql·云计算·aws
ladymorgana4 小时前
【docker】修改 MySQL 密码后 Navicat 仍能用原密码连接
mysql·adb·docker
有点小帅得平哥哥4 小时前
本地部署index-tts并且通过docker做成镜像
docker·index-tts
PanZonghui4 小时前
Centos项目部署之安装数据库MySQL8
linux·后端·mysql