腾讯云轻量应用服务器CentOS系统使用docker安装tomcat,MySQL 并发布SSM maven项目(记录)

  • 一、服务器修改密码(此时已安装CentOS系统)
  • 二、防火墙添加规则
  • 三、连接Xshell
  • 四、安装docker
  • 五、docker拉取image
  • 六、docker配置tomcat
  • 七、docker配置mysql
  • 八、docker常用命令
  • 九、idea打包maven为war包
  • 十、将war包放到webapps下
  • 十一、(附)删除部署的项目
  • 十二、(附)去掉url的:8080和项目名
  • 去掉:8080
  • 去掉项目名

一、服务器修改密码(此时已安装CentOS系统)

刚买来的服务器需要修改密码才能使用

docker容器内ssh服务 docker ssm_centos

二、防火墙添加规则

开放tomcat和MySQL的端口,不然访问不到

docker容器内ssh服务 docker ssm_腾讯云_02

三、连接Xshell

docker容器内ssh服务 docker ssm_docker_03


输入用户名和密码

docker容器内ssh服务 docker ssm_centos_04


连接成功

docker容器内ssh服务 docker ssm_docker容器内ssh服务_05

四、安装docker

https://docs.docker.com/engine/install/centos/ 按这上面的做就行

五、docker拉取image

分别执行下列三条语句

docker pull java8
docker pull tomcat:9.0.43
docker pull mysql:8.0.22

运行完后查看镜像

docker images

docker容器内ssh服务 docker ssm_腾讯云_06

六、docker配置tomcat

执行下列语句

docker run -d -p 8080:8080 --name mytomcat9 tomcat:9.0.43

查看是否运行

docker ps

docker容器内ssh服务 docker ssm_centos_07

docker exec -it mytomcat9 /bin/bash

docker容器内ssh服务 docker ssm_腾讯云_08


将webapps删掉,将webapps.dist改为webapps

rm -r webapps
mv webapps.dist webapps

结果:

docker容器内ssh服务 docker ssm_服务器_09


此时输入

IP地址:8080

应会出现

docker容器内ssh服务 docker ssm_docker容器内ssh服务_10

七、docker配置mysql

分别执行下列语句

docker run -d -p 3306:3306 --privileged=true -v /root/mysql/log:/var/log/mysql -v /root/mysql/data:/var/lib/mysql -v /root/mysql/conf:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=123456 --name mysql mysql:8.0.22
cd /root/mysql/conf
vim my.cnf

在my.cnf里加入下面这段话

[client]
default_character_set=utf8
[mysqld]
collation_server = utf8_general_ci
character_set_server = utf8
default-time_zone = '+8:00'

docker容器内ssh服务 docker ssm_docker_11


重启MySQL

docker restart mysql
docker exec -it mysql  /bin/bash
mysql -uroot -p

输入密码进入MySQL

docker容器内ssh服务 docker ssm_服务器_12

查看字符编码

SHOW VARIABLES LIKE 'character%';

docker容器内ssh服务 docker ssm_docker_13

navicat连接数据库

docker容器内ssh服务 docker ssm_docker容器内ssh服务_14

八、docker常用命令

docker images //查看镜像
docker ps //查看所有运行中的容器
docker ps -a //查看所有容器
docker stop id名  //停止此容器运行 
docker rm -f id名  //结束此容器运行

九、idea打包maven为war包

docker容器内ssh服务 docker ssm_服务器_15


在pom.xml中增加

<packaging>war</packaging>
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-war-plugin</artifactId>
                <version>3.2.3</version>
                <configuration>
                    <webResources>
                        <resource>
                            <directory>web</directory>
                        </resource>
                    </webResources>
                </configuration>
            </plugin>
        </plugins>
    </build>

打包成war包

docker容器内ssh服务 docker ssm_centos_16


打包成功后,右击target下的war包,点击Show in Explorer

docker容器内ssh服务 docker ssm_服务器_17


docker容器内ssh服务 docker ssm_服务器_18


可以将它重命名,这个与发布之后的路径有关,不改也行

docker容器内ssh服务 docker ssm_服务器_19

十、将war包放到webapps下

打开XShell并连接服务器

docker容器内ssh服务 docker ssm_腾讯云_20


点击如下标志,Xftp会自动连接到服务器

(只有在登录成功的情况下,点这个才会自动连接)

docker容器内ssh服务 docker ssm_docker容器内ssh服务_21


在此路径下新建warpackage文件夹并将war包放进去

docker容器内ssh服务 docker ssm_服务器_22


将war包复制到docker的tomcat镜像的webapps下

docker cp /usr/local/warPackage/weather.war mytomcat9:/usr/local/tomcat/webapps

查看

docker容器内ssh服务 docker ssm_腾讯云_23


发布成功

输入
IP地址:8080/war包名
就可以看到项目了

十一、(附)删除部署的项目

注意要先删war包,再删文件夹,因为war包放在webapps下会自动解压

docker容器内ssh服务 docker ssm_docker_24

十二、(附)去掉url的:8080和项目名

去掉:8080

结束之前运行的容器

docker rm -f mytomcat9

将第六步中的

docker run -d -p 8080:8080 --name mytomcat9 tomcat:9.0.43

docker容器内ssh服务 docker ssm_腾讯云_25

改为以下内容之后,再运行配置tomcat下面的内容

docker run -d -p 80:8080 --name mytomcat9 tomcat:9.0.43

这样就将url上的:8080去掉了

去掉项目名

将原先webapps下的ROOT文件夹删除

docker容器内ssh服务 docker ssm_docker_26


docker容器内ssh服务 docker ssm_腾讯云_27

将war包改名为ROOT.war

docker容器内ssh服务 docker ssm_腾讯云_28


再将war包复制到webapps下

docker cp /usr/local/warPackage/ROOT.war mytomcat9:/usr/local/tomcat/webapps

结果为

docker容器内ssh服务 docker ssm_腾讯云_29


此时就可以不用在url上加项目名了