diff --git a/bin/build.sh b/bin/build.sh index 724f340..b0ce027 100644 --- a/bin/build.sh +++ b/bin/build.sh @@ -81,7 +81,7 @@ case "$1" in "tar") build-extras build-jar - build-dist + #build-dist copy-file build-tar ;; diff --git a/build/bin/wfccontrol.sh b/build/bin/wfccontrol.sh index b0b72a1..92053ae 100644 --- a/build/bin/wfccontrol.sh +++ b/build/bin/wfccontrol.sh @@ -18,32 +18,32 @@ Jars=" \ " case "$1" in - start) + start) cd ${DockerDir} ${DockerCompose} up -d echo $! > ${PIDFile} - ;; - stop) + ;; + stop) cd ${DockerDir} ${DockerCompose} down rm ${PIDFile} - ;; - restart) - $0 stop + ;; + restart) + $0 stop sleep 1 $0 start - ;; - status) + ;; + status) cd ${DockerDir} ${DockerCompose} ps - ;; - version) + ;; + version) cd ${WFCBinDir} java printJarVer ${Jars} - ;; - *) + ;; + *) echo "WANFi Controller Service" echo "Usage: $0 start|stop|restart|status|version" exit 1 - ;; + ;; esac diff --git a/build/bin/wfcsetup.sh b/build/bin/wfcsetup.sh index 963e82d..24d7352 100644 --- a/build/bin/wfcsetup.sh +++ b/build/bin/wfcsetup.sh @@ -5,19 +5,103 @@ DockerWorkDir=${WFCWorkDir}/docker SrcServiceDir=${WFCWorkDir}/systemd/system DstServiceDir=/etc/systemd/system -# prepare directory -mkdir -p ${DockerWorkDir}/mysql/tmp -chown -R root:root ${DockerWorkDir}/* -chown -R mysql:mysql ${DockerWorkDir}/mysql -chmod -R 777 ${DockerWorkDir}/mysql/tmp +base_dockers="wfc-nacos wfc-mysql wfc-redis" +jar_dockers="wfc-auth wfc-gateway wfc-modules-system wfc-modules-user wfc-modules-gen wfc-modules-job wfc-modules-file wfc-modules-payment" +modules_dockers="wfc-modules-system wfc-modules-user wfc-modules-gen wfc-modules-job wfc-modules-file wfc-modules-payment" +fe_docker=wfc-nginx + +case "$1" in + env) + # prepare directory + mkdir -p ${DockerWorkDir}/mysql/tmp + chown -R root:root ${DockerWorkDir}/* + chown -R root:root ${DockerWorkDir}/.* + chown -R mysql:mysql ${DockerWorkDir}/mysql + chmod -R 775 ${DockerWorkDir}/nacos + chmod -R 775 ${DockerWorkDir}/nginx + chmod -R 775 ${DockerWorkDir}/redis + chmod -R 775 ${DockerWorkDir}/mysql + chmod 1777 ${DockerWorkDir}/mysql/tmp + + # setup system serivce + cp -rf ${SrcServiceDir}/wfccontrol.service ${DstServiceDir}/ + systemctl daemon-reload + systemctl enable wfccontrol.service + ;; + base) + # build docker compose + cd ${DockerWorkDir} + docker-compose stop ${base_dockers} + docker-compose build ${base_dockers} + ;; + jar) + # build docker compose + cd ${DockerWorkDir} + docker-compose stop ${jar_dockers} + docker-compose build ${jar_dockers} + ;; + modules) + # build docker compose + cd ${DockerWorkDir} + docker-compose stop ${modules_dockers} + docker-compose build ${modules_dockers} + ;; + fe) + # build docker compose + cd ${DockerWorkDir} + docker-compose stop ${fe_docker} + docker-compose build ${fe_docker} + ;; + all) + $0 env + $0 base + $0 jar + $0 fe + ;; + rm) + case "$2" in + base) + cd ${DockerWorkDir} + docker-compose stop ${base_dockers} + for base_docker in ${base_dockers}; do + docker rm ${base_docker} + done + ;; + jar) + cd ${DockerWorkDir} + docker-compose stop ${jar_dockers} + for jar_docker in ${jar_dockers}; do + docker rm ${jar_docker} + docker rmi docker_${jar_docker} + done + ;; + modules) + cd ${DockerWorkDir} + docker-compose stop ${modules_dockers} + for modules_docker in ${modules_dockers}; do + docker rm ${modules_docker} + docker rmi docker_${modules_docker} + done + ;; + fe) + cd ${DockerWorkDir} + docker-compose stop ${fe_docker} + docker rm ${fe_docker} + docker rmi nginx + ;; + *) + echo "WANFi Controller Setup " + echo "Usage: $0 rm [base|jar|modules|fe]" + exit 1 + ;; + esac + ;; + *) + echo "WANFi Controller Setup " + echo "Usage: $0 all|env|base|jar|modules|fe|rm [base|jar|modules|fe]" + exit 1 + ;; +esac -# setup system serivce -cp -rf ${SrcServiceDir}/wfccontrol.service ${DstServiceDir}/ -systemctl daemon-reload -systemctl enable wfccontrol.service -# build docker compose -cd ${DockerWorkDir} -docker-compose down -docker-compose build diff --git a/build/docker/.env b/build/docker/.env new file mode 100644 index 0000000..461289c --- /dev/null +++ b/build/docker/.env @@ -0,0 +1,7 @@ +MYSQL_ROOT_PASSWORD=123456 +MYSQL_DATABASE=wfc_system_db +MYSQL_USER=mysql +MYSQL_PASSWORD= +NACOS_SERVER_ADDR=192.168.13.128:8848 +NACOS_NAME_SPACE=wfc-prod +GATEWAY_ADDR=192.168.13.128:8080 \ No newline at end of file diff --git a/build/docker/docker-compose.yml b/build/docker/docker-compose.yml index 61f78a0..ebac857 100644 --- a/build/docker/docker-compose.yml +++ b/build/docker/docker-compose.yml @@ -6,7 +6,8 @@ services: context: ./nacos environment: - MODE=standalone - - NACOS_SERVER_ADDR=192.168.13.128 + - NACOS_SERVER_ADDR=${NACOS_SERVER_ADDR} + - NACOS_NAME_SPACE=${NACOS_NAME_SPACE} volumes: - ./nacos/logs/:/home/nacos/logs - ./nacos/conf/application.properties:/home/nacos/conf/application.properties @@ -25,6 +26,7 @@ services: ports: - "3306:3306" volumes: + - ./mysql/db:/docker-entrypoint-initdb.d # 挂载 SQL 文件 - ./mysql/conf:/etc/mysql/conf.d - ./mysql/logs:/logs - ./mysql/data:/var/lib/mysql @@ -60,10 +62,15 @@ services: dockerfile: dockerfile ports: - "8080:8080" + volumes: + - ./wfc/gateway/jar/wfc-gateway.jar:/home/wfc/wfc-gateway.jar depends_on: - wfc-redis links: - wfc-redis + environment: + - NACOS_SERVER_ADDR=${NACOS_SERVER_ADDR} + - NACOS_NAME_SPACE=${NACOS_NAME_SPACE} #restart: always wfc-auth: container_name: wfc-auth @@ -72,10 +79,15 @@ services: dockerfile: dockerfile ports: - "9200:9200" + volumes: + - ./wfc/auth/jar/wfc-auth.jar:/home/wfc/wfc-auth.jar depends_on: - wfc-redis links: - wfc-redis + environment: + - NACOS_SERVER_ADDR=${NACOS_SERVER_ADDR} + - NACOS_NAME_SPACE=${NACOS_NAME_SPACE} #restart: always wfc-modules-system: container_name: wfc-modules-system @@ -84,12 +96,17 @@ services: dockerfile: dockerfile ports: - "9201:9201" + volumes: + - ./wfc/modules/system/jar/wfc-modules-system.jar:/home/wfc/wfc-modules-system.jar depends_on: - wfc-redis - wfc-mysql links: - wfc-redis - wfc-mysql + environment: + - NACOS_SERVER_ADDR=${NACOS_SERVER_ADDR} + - NACOS_NAME_SPACE=${NACOS_NAME_SPACE} #restart: always wfc-modules-user: container_name: wfc-modules-user @@ -98,12 +115,17 @@ services: dockerfile: dockerfile ports: - "9204:9204" + volumes: + - ./wfc/modules/user/jar/wfc-modules-user.jar:/home/wfc/wfc-modules-user.jar depends_on: - wfc-redis - wfc-mysql links: - wfc-redis - wfc-mysql + environment: + - NACOS_SERVER_ADDR=${NACOS_SERVER_ADDR} + - NACOS_NAME_SPACE=${NACOS_NAME_SPACE} #restart: always wfc-modules-gen: container_name: wfc-modules-gen @@ -112,10 +134,15 @@ services: dockerfile: dockerfile ports: - "9202:9202" + volumes: + - ./wfc/modules/gen/jar/wfc-modules-gen.jar:/home/wfc/wfc-modules-gen.jar depends_on: - wfc-mysql links: - wfc-mysql + environment: + - NACOS_SERVER_ADDR=${NACOS_SERVER_ADDR} + - NACOS_NAME_SPACE=${NACOS_NAME_SPACE} #restart: always wfc-modules-job: container_name: wfc-modules-job @@ -124,10 +151,15 @@ services: dockerfile: dockerfile ports: - "9203:9203" + volumes: + - ./wfc/modules/job/jar/wfc-modules-job.jar:/home/wfc/wfc-modules-job.jar depends_on: - wfc-mysql links: - wfc-mysql + environment: + - NACOS_SERVER_ADDR=${NACOS_SERVER_ADDR} + - NACOS_NAME_SPACE=${NACOS_NAME_SPACE} #restart: always wfc-modules-file: container_name: wfc-modules-file @@ -137,7 +169,11 @@ services: ports: - "9300:9300" volumes: - - ./wfc/upload:/home/wfc/upload + - ./wfc/modules/file/jar/wfc-modules-file.jar:/home/wfc/wfc-modules-file.jar + - ./wfc/upload:/home/wfc/upload + environment: + - NACOS_SERVER_ADDR=${NACOS_SERVER_ADDR} + - NACOS_NAME_SPACE=${NACOS_NAME_SPACE} #restart: always wfc-modules-payment: container_name: wfc-modules-payment @@ -146,10 +182,15 @@ services: dockerfile: dockerfile ports: - "9306:9306" + volumes: + - ./wfc/modules/payment/jar/wfc-modules-payment.jar:/home/wfc/wfc-modules-payment.jar depends_on: - wfc-mysql links: - - wfc-mysql + - wfc-mysql + environment: + - NACOS_SERVER_ADDR=${NACOS_SERVER_ADDR} + - NACOS_NAME_SPACE=${NACOS_NAME_SPACE} #restart: always wfc-visual-monitor: container_name: wfc-visual-monitor @@ -158,6 +199,11 @@ services: dockerfile: dockerfile ports: - "9100:9100" + volumes: + - ./wfc/visual/monitor/jar/wfc-visual-monitor.jar:/home/wfc/wfc-visual-monitor.jar + environment: + - NACOS_SERVER_ADDR=${NACOS_SERVER_ADDR} + - NACOS_NAME_SPACE=${NACOS_NAME_SPACE} #restart: always wfc-nginx: container_name: wfc-nginx @@ -175,4 +221,6 @@ services: - wfc-gateway links: - wfc-gateway + environment: + - GATEWAY_ADDR=${GATEWAY_ADDR} #restart: always diff --git a/build/docker/mysql/dockerfile b/build/docker/mysql/dockerfile index 8683a7f..20c5d08 100644 --- a/build/docker/mysql/dockerfile +++ b/build/docker/mysql/dockerfile @@ -4,4 +4,8 @@ FROM mysql:5.7 MAINTAINER wfc # 执行sql脚本 -ADD ./db/*.sql /docker-entrypoint-initdb.d/ +ENV MYSQL_ROOT_PASSWORD=123456 +COPY ./db/*.sql /docker-entrypoint-initdb.d/ +# COPY ./db/initdb.sh /docker-entrypoint-initdb.d/ +# RUN chmod 755 /docker-entrypoint-initdb.d/initdb.sh +# ENTRYPOINT ["bash", "/docker-entrypoint-initdb.d/initdb.sh"]