前言:
😄作者简介:小曾同学.com,小伙伴们也可以叫我小曾,一个致力于测试开发的博主⛽️
如果文章知识点有错误的地方,还请大家指正,让我们一起学习,一起进步。😊
座右铭:不想当开发的测试,不是一个好测试✌️。
如果感觉博主的文章还不错的话,还请点赞、收藏哦!👍
假如我们平时想使用Linux系统、Mysql 数据库等应用进行练习,有了Docker容器,这些问题都可以秒极解决,所以掌握在Docker中安装一些常规的应用是非常有必要的。为此小编整理了下在Docker中安装应用的一些通用步骤,如下,
服务端口映射
)简单版本意为适用于只是平时的练习,忽略中文乱码问题的简单版本
下载 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容器实例已完毕,如果想处理字符集问题,请进入高级篇,继续往下操作
针对存储问题,为了防止数据丢失,都会备份数据
,所以本次事例以数据卷的方式运行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,"曾");
然后在容器中查看刚刚插入的数据,插入成功。
还有一点需要强调:
创建数据库一定要在修改完配置之后操作,要不然后面建表如果插入中文会比较麻烦。
第一步:拉取镜像
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/。