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

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

相关推荐
mit6.8241 小时前
[Docker#5] 镜像仓库 | 命令 | 实验:搭建Nginx | 创建私有仓库
linux·后端·docker·云原生
牛右刀薛面1 小时前
麒麟V10,arm64,离线安装docker和docker-compose
运维·docker·容器·麒麟·鲲鹏
XiaoLiuLB1 小时前
Docker 指令详解:全面掌握容器化管理工具
java·tomcat·nio
杨浦老苏1 小时前
简单安全的密码生成器PSWD
docker·群晖·密码
后端常规开发人员2 小时前
在 Mac 上使用 Docker 安装宝塔并部署 LNMP 环境
macos·docker·容器·宝塔
hshpy2 小时前
Allow two Docker containers to communicate with each other
docker·容器·eureka
Violet_Stray2 小时前
docker里rtsp推流+同一个docker接受流进行部署
运维·docker·容器
好记忆不如烂笔头abc2 小时前
docker:docker: Get https://registry-1.docker.io/v2/: net/http: request canceled
http·docker·容器
小牛itbull2 小时前
ReactPress 安装指南:从 MySQL 安装到项目启动
前端·javascript·数据库·mysql·react.js·开源·reactpress
杨浦老苏2 小时前
单网页图库应用Single File PHP Gallery
docker·相册·群晖·图库