新手小白学习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 ,如果文档对你有帮助的话,给我点个赞赞啊!

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

相关推荐
数据知道2 小时前
容器化部署:用Docker封装机器翻译模型与服务详解
docker·容器·机器翻译
poemyang4 小时前
十年大厂员工终明白:MySQL性能优化的尽头,是对B+树的极致理解
mysql·pagecache·顺序i/o·局部性原理·b tree·b+ tree
天宇_任6 小时前
Mysql数据库迁移到GaussDB注意事项
数据库·mysql·gaussdb
甄超锋6 小时前
Java ArrayList的介绍及用法
java·windows·spring boot·python·spring·spring cloud·tomcat
敲上瘾9 小时前
Linux系统cgroups资源精细化控制基础
linux·测试工具·docker·压力测试·cgroups
甄超锋10 小时前
Java Maven更换国内源
java·开发语言·spring boot·spring·spring cloud·tomcat·maven
伊成11 小时前
Docker 部署 Nginx 完整指南
nginx·docker·容器
落日漫游12 小时前
K8s核心组件全解析
运维·docker·运维开发
花花无缺12 小时前
MySQL 的存储引擎-InnoDB 和 MyISAM的对比
mysql
苏琢玉12 小时前
如何让同事自己查数据?写一个零依赖 PHP SQL 查询工具就够了
mysql·php