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

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

相关推荐
Yuanymoon1 小时前
【由技及道】镜像星门开启:Harbor镜像推送的量子跃迁艺术【人工智障AI2077的开发日志010】
java·docker·jenkins·harbor·devops
驜鸈2 小时前
MySQL 的EXPLAIN 计划 type 字段详细说明
android·数据库·mysql
dleei3 小时前
使用docker创建gitlab仓库
前端·docker·gitlab
嗨起飞了3 小时前
MySQL入门手册
数据库·mysql
程序员的世界你不懂4 小时前
Mysql配置文件My.cnf(my.ini)配置参数说明
数据库·mysql·百度·新浪微博
ChinaRainbowSea4 小时前
MySQL 索引的数据结构(详细说明)
java·数据结构·数据库·后端·mysql
追风赶月、4 小时前
【MySQL】事务(隔离性、MVCC)
数据库·mysql
Lemon_man_5 小时前
基于Django创建一个WEB后端框架(DjangoRestFramework+MySQL)流程
python·mysql·django
Hellc0075 小时前
使用 Docker 部署 RabbitMQ 并实现数据持久化
docker·rabbitmq·ruby
梦游钓鱼6 小时前
在window终端创建docker容器的问题
运维·docker·容器