Docker常规安装简介(Redis/MySQL安装)

本文详细介绍了如何使用Docker安装和运行Tomcat、MySQL和Redis。包括从DockerHub拉取镜像、创建容器、端口映射、设置环境变量以及数据持久化等关键步骤。还特别提到了字符集设置对数据库的影响,以及如何解决权限问题和外部连接MySQL的问题。
摘要由CSDN通过智能技术生成

一、总体步骤

1、搜索镜像

2、拉取镜像

3、查看镜像

4、启动镜像 -> 服务端口映射

5、停止容器

6、移除容器

二、安装tomcat

1、docker hub上面查找tomcat镜像

docker search tomcat

2、从docker hub上拉取tomcat镜像到本地

docker pull tomcat
  1. docker images查看是否

docker images tomcat

4、使用tomcat镜像创建容器实例(也叫运行镜像)

docker run -it -p 8080:8080 tomcat

-p 小写,主机端口:docker容器端口

-P大写:随机分配端口

i:交互

t:终端

d:后台

5、访问猫首页

5.1、出现问题

5.2、解决办法

5.2.1、可能没有映射端口或者没有关闭防火墙
5.2.2、把webapps.dist目录换成webapps
  • 先成功启动tomcat

  • 查看webapps文件夹查看为空

  1. 免修改版说明

docker pull billygoo/tomcat8-jdk8
docker run -d -p 8080:8080 --name mytomcat8 billygoo/tomcat8-jdk8

三、安装MySQL

1、docker hub 上面查找MySQL镜像

2、从docker hub上(阿里云加速器)拉取MySQL镜像到本地标签为5.7

3、使用MySQL537镜像创建容器(也叫运行镜像)

3.1、命令出处,哪里来?

3.2、简单版

3.2.1、使用MySQL镜像
# 启动MySQL容器
docker run -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7
# 查看是否启动成功
docker ps
# 进入MySQL容器
docker exec -it 容器ID /bin/bash
# 进入数据库
mysql -uroot -p
3.2.2、建表建库插入数据
3.2.3、外部Win10也来连接运行在docker上的MySQL
3.2.4、问题
  • 插入中文数据试试

为什么报错?

docker上默认字符集编码隐患

  • 删除容器后,里面的MySQL数据如何处理?

容器实例删除,你话可以查看什么?删容器到跑路?

3.3、实战版

3.3.1、新建MySQL容器实例
docker run -d -p 3306:3306 --privileged=true \
-v /data/mysql/log:/var/log/mysql \
-v /data/mysql/data:/var/lib/mysql \
-v /data/mysql/conf:/etc/mysql/conf.d \
-e MYSQL_ROOT_PASSWORD=123456 \
--name mysql mysql:5.7
3.3.2、新建my.cof

通过容器卷同步给MySQL容器实例

[client]
default_character_set=utf8
[mysqld]
collation_server = utf8_general_ci
character_set_server = utf8
3.3.3、重新启动MySQL容器实例再重新进入并查看字符编码
3.3.4、再新建库新建表再插入中文测试
3.3.5、结论
  • 之前的DB 无效

  • 修改字符集操作+重启mysql容器实例

  • 之后的DB 有效,需要新建

  • 结论:docker安装完MySQL并run出容器后,建议请先修改完字符集编码后再新建mysql库-表-插数据

3.3.6、假如将当前容器实例删除,再重新来一次,之前建的db01实例还有吗?

四、安装Redis

1、从docker hub上(阿里云加速器)拉取redis镜像到本地标签为6.0.8

2、入门命令

3、命令提醒:容器卷记得 加入 --privileged=true

Docker挂载主机目录Docker访问出现cannot open directory .: Permission denied

解决办法:在挂载目录后多加一个--privileged=true参数即可

4、在CentOS宿主机下新建目录/app/redis

mkdir -p /app/redis

mkdir -p /app/redis

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

拷贝配置文件:将准备好的redis.conf文件放进/app/redis目录下

6、/app/redis目录下修改redis.conf文件

  • 开启redis验证 可选

requirepass 123

  • 允许redis外地连接 必须

  • daemonize no

将daemonize yes注释起来或者 daemonize no设置,因为该配置和docker run中-d参数冲突,会导致容器一直启动失败

  • 开启redis数据持久化 appendonly yes 可选

  • 默认出厂的原始redis.conf

  1. 使用redis6.0.8镜像创建容器(也叫运行镜像)

docker run  -p 6379:6379 \
--name myr3 --privileged=true \
-v /data/redis/redis.conf:/etc/redis/redis.conf \
-v /data/redis/data:/data \
-d redis:6.0.8 redis-server /etc/redis/redis.conf

8、测试redis-cli连接上来

docker exec -it 运行着Rediis服务的容器ID redis-cli

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

9.1、修改前

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

9.2、修改后

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

注意:记得重启服务

10、测试redis-cli连接上来第2次

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值