安装docker
docker的安装已在生产服务器验证,可以顺利安装
补充:
docker开机自启
systemctl enable docker
docker配置镜像加速器
服务开放端口
docker-compose安装
利用tomcat镜像进行war包部署
在/usr/local/docker/tomcat目录下创建Dockerfile,start.sh两个文件,同时将war放在此目录下
Dockerfile文件内容
FROM tomcat:8.5.73-jre17-temurin
MAINTAINER "hh"
ADD platform.war /usr/local/tomcat/webapps/
CMD ["catalina.sh", "run"]
start.sh文件内容
#源jar路径 即jenkins构建后存放的路径
SOURCE_PATH=/usr/local/docker/tomcat
#docker 镜像/容器名字或者jar名字 这里都命名为这个
SERVER_NAME=platform-test
TAG=0.1
SERVER_PORT=8082
#容器id
CID=$(docker ps | grep "$SERVER_NAME" | awk '{print $1}')
#镜像id
IID=$(docker images | grep "$SERVER_NAME" | awk '{print $3}')
if [ -n "$CID" ]; then
echo "存在容器$SERVER_NAME, CID-$CID,停止并删除容器"
docker stop $SERVER_NAME
docker rm $SERVER_NAME
fi
# 构建docker镜像
if [ -n "$IID" ]; then
echo "存在$SERVER_NAME:$TAG镜像,IID=$IID,删除镜像"
docker rmi $SERVER_NAME:$TAG
else
echo "不存在$SERVER_NAME:$TAG镜像"
fi
cd $SOURCE_PATH
echo "开始构建镜像"
docker build -t $SERVER_NAME:$TAG .
# 运行docker容器
docker run --name $SERVER_NAME -d -p $SERVER_PORT:8080 $SERVER_NAME:$TAG
echo "$SERVER_NAME容器创建完成"
sleep 1
myID=$(docker ps | grep "$SERVER_NAME" | awk '{print $1}')
docker logs -f $myID
具体流程是 判断容器是否存在,存在先停止容器-> 删除容器 -> 删除镜像 -> 构建镜像 -> 启动容器
然后执行start.sh即可