[云原生·Docker] 在Docker中安装Mysql、Tomcat容器实例
本篇文章主要是介绍在Docker中安装一些常规应用,比如mysql、tomcat,当然安装之后也可以用于练习,有需要的小伙伴赶快收藏起来吧
前言:
😄作者简介:小曾同学.com,小伙伴们也可以叫我小曾,一个致力于测试开发的博主⛽️
如果文章知识点有错误的地方,还请大家指正,让我们一起学习,一起进步。😊
座右铭:不想当开发的测试,不是一个好测试✌️。
如果感觉博主的文章还不错的话,还请点赞、收藏哦!👍
1. 前言
假如我们平时想使用Linux系统、Mysql 数据库等应用进行练习,有了Docker容器,这些问题都可以秒极解决,所以掌握在Docker中安装一些常规的应用是非常有必要的。为此小编整理了下在Docker中安装应用的一些通用步骤,如下,
- 搜索镜像
- 拉取镜像
- 查看镜像
- 启动镜像(涉及到
服务端口映射
) - 停止镜像
- 移除容器(这一步随意)
2. Docker 中安装 Mysql
2.1 简单版本安装
简单版本意为适用于只是平时的练习,忽略中文乱码问题的简单版本
-
下载 Mysql 镜像
## 以5.7版本为例 docker pull mysql:5.7
-
运行容器
docker run -p 3310:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7 ## -e 表示运行环境 ## -d 表示后台启动 ## MYSQL_ROOT_PASSWORD=123456 表示数据库登录密码
注意:
mysql
默认端口号为3306,本地端口号设置为3310,在开始运行容器之前,需要先确认本地端口是否被占用,可使用如下命令,如果没有被占用的话,可以使用上面的命令继续操作lsof -i:3306
-
进入容器,并登录数据库
docker exec -it 4c72c08e9574 /bin/bash mysql -uroot -p
接下来就可以当作平时对数据库一样使用
-
连接数据库,并对数据库操作
使用工具 Navicat Premium 连接数据库,并在数据表中添加一行含有中为的数据,此时会发现报错信息。
可以在 Mysql 容器中进行查看字符集,命令如下:SHOW VARIABLES LIKE 'character%';
至此简单mysql容器实例已完毕,如果想处理字符集问题,请进入高级篇,继续往下操作
2.1 高级版本安装
针对存储问题,为了防止数据丢失,都会备份数据
,所以本次事例以数据卷的方式运行mysql容器实例。
-
运行容器
docker run -d -p 3311:3306 -e MYSQL_ROOT_PASSWORD=123456 -v /Users/zengzhaoxia/mysql1/log:/var/log/mysql -v /Users/zengzhaoxia/mysql1/data:/var/lib/mysql -v /Users/zengzhaoxia/mysql1/conf:/etc/mysql/conf.d --name My-mysql mysql:5.7
-
新建配置文件 my.cnf
cd /Users/zengzhaoxia/mysql1/conf目录下,新建文件my.cnf,并输入如下内容[client] default_character_set=utf8 [mysqld] collation_server=utf8_general_ci character_set_server=utf8
-
重启mysql容器
因为修改了配置文件,所以需要重启mysql容器,并查看重启后容器的字符编码是否为utf8
,输入命令:SHOW VARIABLES LIKE 'character%';
-
新建数据库、建表
-
连接数据库,并插入数据
使用工具连接数据库,我使用的Navicat Premium ,打开Navicat Premium ——连接——Mysql,会看到刚刚在容器中创建的数据库及数据表,并向表中插入数据。insert into t1 values(2,"曾");
然后在容器中查看刚刚插入的数据,插入成功。
还有一点需要强调:
创建数据库一定要在修改完配置之后操作,要不然后面建表如果插入中文会比较麻烦。
3. Docker 中安装Tomcat
-
第一步:拉取镜像
docker pull tomcat
-
第二步:运行容器
docker run -it d -p 5051:8080 --name="t3" tomcat
本地端口使用5051,映射到tomcat容器内端口8080,8080是tomcat默认端口,
再次强调:-p小写,主机端口:docker容器端口
-P大写,随机分配端口
例如:
docker run -it -P tomcat 运行之后系统会随机分配一个端口号
注意:如果此时访问 http://127.0.0.1:5051/网址,则可能会出现404问题,所以还需要第三步操作
-
第三步:删除webapps文件,并将webapps.dist改名为webapps
在最新tomcat版本中需要修改一下配置,实际是运行在webapps.dist中,之后重新访问 http://127.0.0.1:5051/网址,可访问成功。
补充
如果不想这么麻烦,当然还有更方便的方式,使用billygoo/tomcat8-jdk8
镜像,一步就可以搞定
docker run -d -p 5055:8080 --name="t4" billygoo/tomcat8-jdk8
容器运行之后,可直接访问 http://127.0.0.1:5055/。
更多推荐
所有评论(0)