Rancher部署测试web程序

1、环境及准备

软件版本
centos7.4-1708
docker19.03.0-ce
rancher2.3.6
  • rancher部署参考:rancher部署安装过程

  • 在测试环境里etcd、control和work均安装在了一个节点

  • 应用:下载的开源小幺鸡web应用 下载

开源的小幺鸡需要使用maven编译,可参考这里


2、rancher安装mysql

2.1 应用商店安装

在rancher界面上从应用商店安装
选择项目后,依次找到应用商店,启用,筛选MySQL
在这里插入图片描述
名称、模板版本、命名空间均可默认
填上MySQL服务启动时自动创建的数据库和用户名密码
在这里插入图片描述
MySQL服务类型那里选择主机端口,端口号随便填一下
在这里插入图片描述
点击启动稍等片刻
查询服务
在这里插入图片描述

2.2 容器内验证

验证能不能用

[root@manager ~]# docker container ls
CONTAINER ID        IMAGE                                             COMMAND                  CREATED              STATUS              PORTS                    NAMES
4b2cdbe6d7e5        4b3b6b994512                                      "docker-entrypoint.s¡­"   About a minute ago   Up About a minute                            k8s_mysql_mysql-6f9f7db545-lmvnc_mysql_58515089-69b8-4acf-83a4-c662963fc89c_0
cfd5ba22d89f        rancher/pause:3.1                                 "/pause"                 About a minute ago   Up About a minute                            k8s_POD_mysql-6f9f7db545-lmvnc_mysql_58515089-69b8-4acf-83a4-c662963fc89c_0

进入容器内

[root@manager ~]# docker exec -it 4b2cdbe6d7e5 bash
root@mysql-6f9f7db545-lmvnc:/# 

习惯用root用户登陆了,先查看root的密码
再用root登陆,查看数据库

root@mysql-6f9f7db545-lmvnc:/# echo $MYSQL_ROOT_PASSWORD
KWpN7P295I
root@mysql-6f9f7db545-lmvnc:/# mysql -uroot -p
Enter password:    #KWpN7P295I
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 63
Server version: 5.7.14 MySQL Community Server (GPL)

Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
| test1              |
+--------------------+
5 rows in set (0.00 sec)

修改root用户密码

mysql> use mysql
# 以下两条经验证不行
# set password for root@localhost = password('123456');
# update user set password=password('123456') where user='root' and host='localhost'; 
mysql> alter user 'root'@'%' IDENTIFIED BY '123456';
Query OK, 0 rows affected (0.00 sec)

2.3 使用navicat测试连接

查看mysql映射到本主机的端口号

[root@manager ~]# netstat -antp | grep 32219
tcp6       0      0 :::32219                :::*                    LISTEN      30544/kube-proxy

navicat新建连接,进行测试,测试OK。
在这里插入图片描述

3、docker安装tomcat

3.1 安装tomcat

直接根据版本拉取tomcat的镜像

[root@manager ~]# docker pull tomcat:8.0
8.0: Pulling from library/tomcat
f189db1b88b3: Pull complete 
3d06cf2f1b5e: Pull complete 
edd0da9e3091: Pull complete 
eb7768aae14e: Pull complete 
e2780f585e0f: Pull complete 
e5ed720afeba: Pull complete 
d9e134700cfc: Pull complete 
e4804b33d02a: Pull complete 
b9df0c24315e: Pull complete 
49fdae8eaa20: Pull complete 
1aea3d9a32e6: Pull complete 
Digest: sha256:8ecb10948deb32c34aeadf7bf95d12a93fbd3527911fa629c1a3e7823b89ce6f
Status: Downloaded newer image for tomcat:8.0
docker.io/library/tomcat:8.0
[root@manager ~]# docker image ls
REPOSITORY                                        TAG                     IMAGE ID            CREATED             SIZE
......
tomcat                                            8.0                     ef6a7c98d192        19 months ago       356MB
......

运行tomcat

[root@manager ~]# docker run -p 8889:8080 --name tomcat8 -d tomcat:8.0
296fc444e99b751ed62650790458517698f6327a8613c7390f77fdb04ec994b0

验证,访问主机IP:8889
在这里插入图片描述

3.2 将web应用拷到容器内

将web应用打成tar.gz包,zip的包容器内没办法解压
打包之前,需要做两件事(根据应用实际情况):

  • 进入mysql的容器内,创建一个xiaoyaoji的数据库,并执行SQL脚本
# xiaoyaoji.sql从下载的源码里的doc目录内有
# 先从本地上传到rancher主机
[root@manager ~]# docker cp /opt/myweb/xiaoyaoji.sql 4b2cdbe6d7e5:/opt
[root@manager ~]# docker exec -it 4b2cdbe6d7e5 bash
root@mysql-6f9f7db545-lmvnc:/# mysql -uroot -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2560
Server version: 5.7.14 MySQL Community Server (GPL)

Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> create database xiaoyaoji;  # 创建数据库
Query OK, 1 row affected (0.00 sec)

mysql> use xiaoyaoji;
Database changed
mysql> source /opt/xiaoyaoji.sql  # 执行脚本
Query OK, 0 rows affected (0.00 sec)

Query OK, 0 rows affected, 1 warning (0.00 sec)
......
  • 修改项目中的配置文件/项目/WEB-INF/classes/config.properties
    在这里插入图片描述
    上述完成后,将项目打包压缩
    图中:
    xiaoyaoji-2.1.7.war:源代码经mvn编译之后打的包
    xiaoyaoji-2.1.7文件夹:war包自动解压后的项目整体
    xiaoyaoji-2.1.7.tar:使用7-zip压缩工具第一步处理
    xiaoyaoji-2.1.7.tar.gz:使用7-zip压缩工具第二步处理
    在这里插入图片描述
    先将xiaoyaoji-2.1.7.tar.gz上传到rancher主机/opt/myweb目录下
# 将包拷到容器内
[root@manager myweb]# docker cp xiaoyaoji-2.1.7.tar.gz 296fc444e99b:/usr/local/tomcat/webapps
# 进入容器内
root@296fc444e99b:/usr/local/tomcat/webapps# ls
ROOT  docs  examples  host-manager  manager  xiaoyaoji-2.1.7.tar.gz
# 解压
root@296fc444e99b:/usr/local/tomcat/webapps# tar -zxvf xiaoyaoji-2.1.7.tar.gz
root@296fc444e99b:/usr/local/tomcat/webapps# ls
ROOT  docs  examples  host-manager  manager  xiaoyaoji-2.1.7  xiaoyaoji-2.1.7.tar.gz
root@296fc444e99b:/usr/local/tomcat/webapps# mv xiaoyaoji-2.1.7 xiaoyaoji
root@296fc444e99b:/usr/local/tomcat/webapps# ls
ROOT  docs  examples  host-manager  manager  xiaoyaoji	xiaoyaoji-2.1.7.tar.gz

重启tomcat

[root@manager myweb]# docker restart 296fc444e99b
296fc444e99b

3.3 访问验证

在这里插入图片描述
验证注册,看数据库能用否
在这里插入图片描述
注册成功并登陆
在这里插入图片描述

4、导出容器上传镜像

将tomcat容器导出为tar包

[root@manager myweb]# docker export 296fc444e99b > xiaoyaoji3.tar
[root@manager myweb]# ll
total 996824
-rw-r--r--. 1 root root      1883 Apr 13 18:32 config.properties
-rw-r--r--. 1 root root  38441619 Apr 13 09:52 xiaoyaoji-2.1.7.tar.gz
-rw-r--r--. 1 root root 466742784 Apr 13 18:44 xiaoyaoji3.tar
-rw-r--r--. 1 root root      9955 Apr 13 10:31 xiaoyaoji.sql

将tar包导入镜像

# 镜像名版本号自定义
[root@manager myweb]# docker import xiaoyaoji3.tar myrancher/xiaoyaoji3:v3
sha256:aa3994e3fa4211fa002cc4a3b03347b995d48082a3c37a7c4bdc6f1ffbc1eca0
[root@manager myweb]# docker image ls
REPOSITORY                                        TAG                     IMAGE ID            CREATED             SIZE
myrancher/xiaoyaoji3                              v3                      aa3994e3fa42        36 seconds ago      456MB
......

5、rancher中启动应用

rancher项目中,部署应用
填上名称和镜像
在这里插入图片描述
端口映射,tomcat容器内配置文件没有动,默认8080
在这里插入图片描述
高级选项设置中填写入口和命令
在这里插入图片描述
安全/主机设置里,把镜像拉取的总是拉取取消掉
在这里插入图片描述
然后可以启动
看到分配的随机端口是30202
在这里插入图片描述
页面访问,注册登陆也可以正常使用
在这里插入图片描述

参考文章

全程参数这篇文章,写的很好,一步一步照着执行的
https://blog.csdn.net/junehappylove/article/details/84973467

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值