阿里云 服务器 上面使用 docker 去部署项目,这里介绍的是单机的项目,就是一些比较常见的web项目,没有分布式 集群啥的东西,所以基本环境 就只有 mysql tomcat jdk 这些基本的环境 请看 docker安装项目基本环境
接下来就是通过工具来 进行连接服务器了,我这里使用的是 xshll 和xfit 进行操作的,
因为我们使用 docker tomcat容器去部署项目,war是不可能直接 通过xfit 进行放入到 tomact 的webapp下面的,必须是用 复制的方式进行部署,因为docker 的位置都不一样,不是固定的位置
首先创建一个临时目录用来放 war 包
cd 进入到 usr/local 目录
mkdir test
然后通过 xftp 连接进入这个 test 目录 把war 吧放入到test目录中,然后执行 命令把这个war包复制到tomcat容器中,
docker cp /usr/local/test/xx.war dcc1ee1003d5:/usr/local/tomcat/webapps
dcc1ee1003d5 这个是容器的id 可以是用docker ps 命令查看
复制到webapps下面后,tomact 会自动解压 war包然后,重启 tomact访问就好了,
这里其实是有一个小问题,就是我这个项目的日志文件是 lo4j的名字,这里tomact 不会生成 err的log文件,我们要手动写一个logging.properties 文件放到项目的classes 里面去,这样我们才能看出来,到底是发生了什么,不然太难排查问题了
handlers = org.apache.juli.FileHandler, java.util.logging.ConsoleHandler
############################################################
# Handler specific properties.
# Describes specific configuration info for Handlers.
############################################################
org.apache.juli.FileHandler.level = FINE
org.apache.juli.FileHandler.directory = ${catalina.base}/logs
org.apache.juli.FileHandler.prefix = error-debug.
java.util.logging.ConsoleHandler.level = FINE
java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter
写好文件后,把这个文件用上面那种复制的方式放入到tomact里面去,然后在重启服务就好了。
可能用到的docker 命令
查看容器
docker ps , docker ps -l , docker ps -a
启动容器 :
docker start 容器id
关闭容器
docker stop 容器id
重启容器
docker restart 容器id
进入容器
docker exec -it tomac(容器名字) bash
然后访问ip 加端口然后查看日志就可以了,对了记得docker 开机自启的设置 和容器自启的设置,不然服务器启动,就得手动去启动docker可以看看这篇文章
docker 开机自启