一、配置宝塔及gitee互通
1.安装宝塔WebHook
安装地址:宝塔
2.配置项目的公钥
a.linux生成对应的SSH公钥,邮箱为git的邮箱
ssh-keygen -t rsa -C "xxxxx@xxxxx.com"
b.生成后查看对应的public key公钥信息
cat ~/.ssh/id_rsa.pub
c.在码云中添加自己服务器的公钥
3.配置WebHooks
a.通过宝塔页面创建一个WebHook
根据自己的需求进行修改
#!/bin/bash
export MAVEN_HOME=/home/tools/apache-maven-3.6.3
export JAVA_HOME=/home/tools/jdk1.8.0_301
export JRE_HOME=$JAVA_HOME/jre
export PATH=$JAVA_HOME/bin:$PATH:$MAVEN_HOME/bin:$JRE_HOME
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
echo ""
date --date='0 days ago' "+%Y-%m-%d %H:%M:%S"
echo "-------start-------"
gitPath="/www/wwwroot"
gitName="takeaway-java"
gitHttp="git@********.******.git"
echo "git path:$gitPath"
if [ ! -d ".git" ];then
if [ ! -d "$gitPath/$gitName" ];then
cd /$gitPath
echo "-------clone this package git-------"
git clone $gitHttp
cd $gitName
else
cd $gitPath/$gitName
fi
chmod -R 777 $gitPath/$gitName
git reset --hard origin/develop
#git clean -f
git pull origin develop
if [ $? -ne 0 ]; then
echo "-------pull failed-------"
else
echo "-------pull succeed-------"
fi
set -e
mvn clean package -Dmaven.test.skip=true
if [ $? -ne 0 ]; then
echo "-------build failed-------"
else
echo "-------build succeed-------"
fi
echo "-------close docker container-------"
pid=`docker ps -aqf name=$gitName_service-gateway_1`
docker stop $pid
pid1=`docker ps -aqf name=$gitName_service-customer_1`
docker stop $pid1
pid2=`docker ps -aqf name=$gitName_service-management_1`
docker stop $pid2
echo "-------close docker container successed-------"
echo "-------start gateway--------"
docker-compose -f docker-compose.yml up -d
if [$? -ne 0]; then
echo "-------gateway faild-------"
else
echo "-------gateway successed-------"
fi
echo "-------start services--------"
docker-compose -f docker-compose-server.yml up -d
if [$? -ne 0]; then
echo "-------services faild-------"
else
echo "-------services successed-------"
fi
echo "-------end--------"
fi
exit
b.查看秘钥,并配置gitee的WebHooks
二、docker相关安装及设置
官网地址: Docker Documentation | Docker Documentation
1.安装docker
2.安装docker-compose
3.网络配置
a.创建网络
# --gateway 网关
# --subnet 子网掩码 192.168.0.0/16 从192.168.0.2开始~192.168.255.255
# --driver 连接方式 bridge 桥接
docker network create --driver bridge --subnet 192.168.0.0/16 --gateway 192.168.0.1 mynet
b.查看自己创建的网络
docker network insepct mynet
到此docker相关配置已完成,接下来编排docker相关内容
二、springboot配置docker相关
1.编排Dockerfile
# 基础镜像
FROM java:8
# VOLUME 指定了临时文件目录为/tmp。
VOLUME /tmp
RUN echo "Asia/shanghai" > /etc/timezone
# Ubuntu
RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
# 将jar包添加到容器中并更名为app.jar
ADD ./target/service-customer-1.0.0-SNAPSHOT.jar app.jar
# 运行jar包
ENV JAVA_OPTS=""
ENTRYPOINT exec java $JAVA_OPTS -Djava.security.egd=file:/dev/./urandom -jar /app.jar
EXPOSE 5001
2.编排docker-compose.yml
version: '3'
# 自己的服务
services:
service-gateway:
build: system/service-gateway
restart: always
# 端口映射
ports:
- 80:80
# 运行参数
environment:
- JAVA_OPTS=-Xmx512m -Xms512m -XX:MaxPermSize=512m
# 卷挂载
volumes:
- ./system/service-gateway/target/service-gateway-1.0.0-SNAPSHOT.jar:/app.jar
- ./log:/log/
# 使用哪个网络
networks:
- service-net
# 网络配置
networks:
service-net:
external:
name: nacos-net # 加入到对应服务网络中
其中会遇到宿主机与docker容器的时差相差8小时问题,可以参考如下链接:docker容器与宿主机相差8小时_咻pur慢-CSDN博客