docker基础教程(六),常规安装,redis,mysql,tomcat

6、docker 常规安装简介

6.1 总体步骤

  • 搜索镜像 (docker search xx)
  • 拉取镜像 (docker pull xx)
  • 查看镜像 (docker images xx)
  • 启动镜像 (docker run -it -p 8080:8080 tomcat)
  • 停止容器 (docker stop xx)
  • 移除容器 (docker rmi -f xx)

6.2 安装tomcat

拉取tomcat 镜像
docker pull tomact

运行该容器至8080端口
docker run -d -p 8080:8080 --name t1 tomcat

访问首页 看看有没有成功 发现出现404页面

  • 可能没有映射端口或者没有关闭防火墙 (很小可能)
  • 把webapps.dist 目录换成webapps (因为新版的tomcat换掉了访问的目录)

重新进入tomcat终端 以此来排查问题

docker exec -it 07d56fc8f126 /bin/bash

进入目录 
cd webapps

查看当前目录下文件 发现没有任何文件
ls -l

切换到上层目录
cd ../

删除目录 因为这个目录没有想要的文件
rm -r webapps

将有内容的文件改名为 webapps 让tomcat找到对应的文件
mv webapps.dist webapps

再次访问 发现可以正常访问

如果觉得修改最新版的太过于麻烦,那么可以放弃上面的操作,下载免修改版的

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

6.3 安装mysql

先拉取镜像 拉取一个5.7版本的mysql

docker pull mysql:5.7
6.3.1 简单操作

使用mysql 镜像 以3306端口打开 并配置mysql 的root密码为123456

docker run -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7

进入mysql容器实例

docker exec -it 341f7322fd22 /bin/bash

运行mysql 输入密码后进入mysql操作端

mysql -u -root -p

之后可以进行一些基本的mysql命令操作、这里不作演示。 证明了读写操作在容器中的mysql依旧可以使用。

6.3.2 远程链接mysql

我的虚拟机是使用nat模式 参考下这篇文章 centos7 网络配置nat

在当前环境中查看本机ip (ens33网卡) (我的是192.168.2.102)

在主机上使用ping 命令可以ping通

记得关闭虚拟机上的防火墙

  • 1、命令行界面输入命令“systemctl status firewalld.service”并按下回车键。

    2、然后在下方可以查看得到“active(running)”,此时说明防火墙已经被打开了。

    3、在命令行中输入systemctl stop firewalld.service命令,进行关闭防火墙。

    4、然后再使用命令systemctl status firewalld.service,在下方出现disavtive(dead),这权样就说明防火墙已经关闭。

    5、再在命令行中输入命令“systemctl disable firewalld.service”命令,即可永久关闭防火墙。

使用navicat 工具连接 虚拟机->centos7->docker容器->mysql,发现连接成功!!!

连接成功后、当我们插入中文数据的时候会出现报错(mysql 8已修复)。这是docker容器下mysql,我们没有对字符集编码进行修正。

6.3.3 mysql实战板 操作

通过之前的简单操作、我们可以成功的安装mysql,但是还是会出现很多的问题(中文乱码、数据备份、敏感数据据迁移等等问题) 所以我们需要挂载容器数据卷、避免误操作!

挂载容器数据卷

docker run -d -p 3306:3306 --privileged=true -v /soup/mysql/log:/var/log/myql -v /soup/mysql/data:/var/lib/mysql -v /soup/mysql/conf:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=123456 --name mysql mysql:5.7

解决中文乱码

cd /soup/mysql/conf/
vim my.cnf
cat my.cnf

[client]
default_character_set=utf8
[mysqld]
collation_server = utf8_general_ci
character_set_server =utf8

在mysql中重新查看

SHOW VARIABLES LIKE 'character%';

至此解决了mysql中文乱码问题、并且删除当前实例也不会清空之前的数据、因为数据已经挂载

6.4 安装redis

拉取镜像

docker pull redis:6.0.8

运行镜像、挂载容器数据卷

docker run -p 6379:6379 --name my_redis --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

配置redis.conf 文件 参考此链接

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

soup_god

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值