前言:
😄作者简介:小曾同学.com,小伙伴们也可以叫我小曾,一个致力于测试开发的博主⛽️
如果文章知识点有错误的地方,还请大家指正,让我们一起学习,一起进步。😊
座右铭:不想当开发的测试,不是一个好测试✌️。
如果感觉博主的文章还不错的话,还请点赞、收藏哦!👍

文章目录

1. 前言

假如我们平时想使用Linux系统、Mysql 数据库等应用进行练习,有了Docker容器,这些问题都可以秒极解决,所以掌握在Docker中安装一些常规的应用是非常有必要的。为此小编整理了下在Docker中安装应用的一些通用步骤,如下,

  1. 搜索镜像
  2. 拉取镜像
  3. 查看镜像
  4. 启动镜像(涉及到服务端口映射
  5. 停止镜像
  6. 移除容器(这一步随意)

2. Docker 中安装 Mysql

2.1 简单版本安装

简单版本意为适用于只是平时的练习,忽略中文乱码问题的简单版本

  1. 下载 Mysql 镜像

    ## 以5.7版本为例
    docker pull mysql:5.7
    
  2. 运行容器

    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
    
  3. 进入容器,并登录数据库

    docker exec -it 4c72c08e9574 /bin/bash
    mysql -uroot -p
    

    接下来就可以当作平时对数据库一样使用
    在这里插入图片描述

  4. 连接数据库,并对数据库操作
    使用工具 Navicat Premium 连接数据库,并在数据表中添加一行含有中为的数据,此时会发现报错信息。
    在这里插入图片描述
    可以在 Mysql 容器中进行查看字符集,命令如下:

    SHOW VARIABLES LIKE 'character%';
    

    在这里插入图片描述
    至此简单mysql容器实例已完毕,如果想处理字符集问题,请进入高级篇,继续往下操作

2.1 高级版本安装

针对存储问题,为了防止数据丢失,都会备份数据,所以本次事例以数据卷的方式运行mysql容器实例。

  1. 运行容器

    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
    
  2. 新建配置文件 my.cnf
    cd /Users/zengzhaoxia/mysql1/conf目录下,新建文件my.cnf,并输入如下内容

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

    在这里插入图片描述

  3. 重启mysql容器
    因为修改了配置文件,所以需要重启mysql容器,并查看重启后容器的字符编码是否为utf8,输入命令:

    SHOW VARIABLES LIKE 'character%';
    

    在这里插入图片描述

  4. 新建数据库、建表
    在这里插入图片描述

  5. 连接数据库,并插入数据
    使用工具连接数据库,我使用的Navicat Premium ,打开Navicat Premium ——连接——Mysql,会看到刚刚在容器中创建的数据库及数据表,并向表中插入数据。

    insert into t1 values(2,"曾");
    

    在这里插入图片描述
    然后在容器中查看刚刚插入的数据,插入成功。
    在这里插入图片描述

还有一点需要强调
创建数据库一定要在修改完配置之后操作,要不然后面建表如果插入中文会比较麻烦。

3. Docker 中安装Tomcat

  1. 第一步:拉取镜像

    docker pull tomcat 
    
  2. 第二步:运行容器

    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问题,所以还需要第三步操作

  3. 第三步:删除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/

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐