docker-java

===============
常见错误,应用无法显示验证码
java.lang.NullPointerException at sun.awt.FontConfiguration.getVersion 验证码无法显示
在Docker运行
Alpine 系统:

sed -i 's/dl-cdn.alpinelinux.org/mirrors.ustc.edu.cn/g' /etc/apk/repositories
apk add fontconfig
apk add --update ttf-dejavu
fc-cache --force

===============
➜ 方案2:

项目采用docker进行构建运行,如果每次都需要重新安装此组件,很耗时。

采取另一种措施:重新构建一个基础镜像(安装好依赖,用于支持验证码功能)。

后续其他镜像基于此基础镜像做构建。

参考Dockerfile如下:

vim Dockerfile

Dockerfile内容如下:

FROM openjdk:8-alpine
#ADD ./test.jar /opt/App/test.jar
#拷贝字体文件
#COPY ./simhei.ttf /usr/share/fonts/simhei.ttf
#设置字符集
ENV LANG en_US.UTF-8
# RUN apk --update add font-config ttf-dejavu
# RUN rum -rf /var/cache/apk/*
RUN sed -i '3s/#//' /etc/apk/repositories
RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.ustc.edu.cn/g' /etc/apk/repositories



RUN apk add --update --no-cache ttf-dejavu fontconfig && rm -rf /var/cache/apk/*
EXPOSE 8080
ENTRYPOINT ["java", "-jar"]
CMD ["test.jar"]

 

 

当前目录构建:

docker build -t myjava .

后续业务镜像基于新的基础镜像构建:

# FROM openjdk:8-jdk-alpine
FROM myjava
ADD *.jar app.jar
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-Duser.timezone=GMT+08","-jar","/app.jar"]
EXPOSE 8080

===============

#Dockerfile
From openjdk:13-jdk-alpine
#设置字符集
ENV LANG en_US.UTF-8
# RUN apk --update add font-config ttf-dejavu
# RUN rum -rf /var/cache/apk/*
RUN sed -i '3s/#//' /etc/apk/repositories
RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories 
RUN apk add --update --no-cache ttf-dejavu fontconfig && rm -rf /var/cache/apk/*
RUN apk add tzdata  && cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime    && echo "Asia/Shanghai" > /etc/timezone 
CMD ["/bin/sh"]

#编译模板
docker build -t myjava:11 -f ./Dockerfile .

#运行服务
#docker stop api
#docker rm api
docker run -itd --restart=unless-stopped --name api -v $(pwd):/app  -p 8081:8081 apnode/apnode:jdk8 java -jar /app/api.jar --spring.profiles.active=prod --server.port=8081

参考:
https://markix.blog.csdn.net/article/details/106470920
https://blog.csdn.net/jeikerxiao/article/details/109334619

docker-postgis

0712 更新
Postgre postgis 版本关系

注意修改密码

docker run -d --restart=always  --name vbox-postgis -p 5432:5432 -e POSTGRES_PASSWORD=postgres postgis/postgis:13-3.1-alpine 

#拉取最新的postgresql12+postgis3.0的镜像
docker pull geographica/postgis
#生成容器
docker run -d --name sm-postgis -p 5432:5432 -e POSTGRES_PASSWORD=postgres  geographica/postgis:latest

#进入postsql终端
docker exec -ti sm-postgis psql -U postgres

#进入bash终端
docker exec -ti sm-postgis bash
#参考2
docker run -d --name dz-postgis -p 5432:5432 -e POSTGRES_PASSWORD=postgres  postgis/postgis
docker exec -ti dz-postgis psql -U postgres

 


# Docker部署Geoserver
# 获取镜像
docker pull kartoza/geoserver
# 启动容器
# docker run -d -p 8080:8080 --name geoserver kartoza/geoserver:2.16.2
docker run -d -p 8080:8080 --name geoserver kartoza/geoserver
# 将主机的/data/geoserver_data挂载到容器的/etc/letsencrypt下
# mkdir -p /data/geoserver
docker run -d -v /data/geoserver:/etc/letsencrypt -p 8080:8080 --name geoserver kartoza/geoserver
# 进入终端
docker exec -it geoserver bash
#打开 http://对应IP地址:8080
#登录(使用默认用户名和密码)
#Username: admin
#Password: geoserver

为postgresql安装postgis扩展模块:
1、安装postgis
2、在指定数据库下执行下面语句
CREATE EXTENSION postgis
3、验证:执行下面语句不报错即可
SELECT ST_SetSRID(ST_Point(-87.71,43.741),4326),ST_GeomFromText(‘POINT(-87.71 43.741)’,4326)

4. 可选扩展


-- postgis的基本核心功能,仅支持地理图形(矢量要素),在其他Extension前启用。
CREATE EXTENSION postgis;

-- 对栅格数据的支持。
CREATE EXTENSION postgis_raster;

-- 拓扑功能的支持。
CREATE EXTENSION postgis_topology;

-- TIGER指的是(拓扑集成地理编码和参考),这个是美国人口普查局的GIS数据,提供了美国全国的行政区划、交通道路、水系等空间数据。
-- 这个Extension提供了TIGER数据的地理编码支持,需要注意的是这个Extension启用前,需要先启用fuzzystrmatch(字符串模糊查询)Extension,
-- 以及可选的address_standardizer(TIGER数据地址规则化)
-- address_standardizer_data_us(地址规则化示例数据集)Extension。
CREATE EXTENSION fuzzystrmatch;
CREATE EXTENSION postgis_tiger_geocoder;

-- 这个Extension主要是集成了CGAL[2](Computational Geometry Algorithms Library,计算几何算法库),
-- 来进行三维空间数据的空间运算,例如[3]、ST_3DDifference、ST_3DUnion 等,可见是通常空间运算在三维空间上的拓展。

CREATE EXTENSION postgis_sfcgal; 

-- 这个Extension可以利用OGR读取外部的GIS数据(例如Shepfile),其实是结合了OGR和PostgreSQL的foreign data wrappers。
CREATE EXTENSION ogr_fdw;

-- pgrouting提供了对路网的分析支持,包括双向Dijkstra最短路径等10多种功能。
-- debian下安装 apt install postgresql-X-pgrouting
CREATE EXTENSION pgrouting;

-- 提供对LiDAR点云的支持,提供对点云数据的存储。这个很有意思,这里多说一点。启用pointcloud Extension的PostgreSQL 数据库,
-- 可以利用PDAL进行LiDAR点云数据的读取和保存。PADL是一个用于读取点云数据的转换和处理库,它替代了LibLAS,
-- 所以PADL+pointcloud PostgreSQL可以作为一个不错的点云数据管理方案。
--  apt install postgresql-X-pointcloud
CREATE EXTENSION pointcloud;
CREATE EXTENSION pointcloud_postgis;

5. 可选扩展2


-- 安装扩展成功以后,就可以通过uuid_generate_v4()或uuid_generate_v1()查询
create extension "uuid-ossp";  

6. Postgis,火星坐标,转换,函数
geoc-pg-coordtransform
geoc-pg-coordtransform.sql

参考
https://help.aliyun.com/document_detail/279473.html
https://zhuanlan.zhihu.com/p/159103073
https://blog.csdn.net/fct2001140269/article/details/102955584
https://blog.csdn.net/u010206379/article/details/109764629

批处理cmd 常规头-目录右键运行CMD


@REM ###################################################### 
@REM 可选默认使用utf-8 
@REM chcp 65001
@REM ###################################################### 
@cls && echo off &&echo PAN:"%~d0" CD:"%~dp0" FILE:"%~f0"
@cd /d %~dp0 && echo CD:"%cd%" 
@REM ###################################################### 
@REM echo 倒计时10秒后退出 && for /L %%i in (1 1 10) do set /p a=■<nul&ping /n 2 -w 100 127.0.0.1>nul
@REM ###################################################### 

windows 目录右键运行CMD
保存以下为 cmd.reg 文件然后双击导入


Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\background\shell\cmd_here]
@="CMD"
"Icon"="cmd.exe"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\background\shell\cmd_here\command]
@="cmd.exe /s /k pushd \"%V\"" 

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\shell\cmd_here]
@="CMD"
"Icon"="cmd.exe"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\shell\cmd_here\command]
@="cmd.exe /s /k pushd \"%V\""


[HKEY_CLASSES_ROOT\Directory\shell\runas]
@="CMDAdmin"
"HasLUAShield"=""
[HKEY_CLASSES_ROOT\Directory\shell\runas\command]
@="cmd.exe /s /k pushd \"%V\""

[HKEY_CLASSES_ROOT\Directory\Background\shell\runas]
@="CMDAdmin"
"HasLUAShield"=""
[HKEY_CLASSES_ROOT\Directory\Background\shell\runas\command]
@="cmd.exe /s /k pushd \"%V\"" 


[HKEY_CLASSES_ROOT\Drive\shell\runas]
@="CMDAdmin"
"HasLUAShield"=""

[HKEY_CLASSES_ROOT\Drive\shell\runas\command]
@="cmd.exe /s /k pushd \"%V\""
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Directory\shell\OpenCmdHere]
@="在此处打开命令提示符"
"Icon"="cmd.exe"
[HKEY_CLASSES_ROOT\Directory\shell\OpenCmdHere\command]
@="PowerShell -windowstyle hidden -Command \"Start-Process cmd.exe -ArgumentList '/s,/k, pushd,%V' -Verb RunAs\""
[HKEY_CLASSES_ROOT\Directory\Background\shell\OpenCmdHere]
@="在此处打开命令窗口"
"Icon"="cmd.exe"
[HKEY_CLASSES_ROOT\Directory\Background\shell\OpenCmdHere\command]
@="PowerShell -windowstyle hidden -Command \"Start-Process cmd.exe -ArgumentList '/s,/k, pushd,%V' -Verb RunAs\""
[HKEY_CLASSES_ROOT\Drive\shell\OpenCmdHere]
@="在此处打开命令窗口"
"Icon"="cmd.exe"
[HKEY_CLASSES_ROOT\Drive\shell\OpenCmdHere\command]
@="PowerShell -windowstyle hidden -Command \"Start-Process cmd.exe -ArgumentList '/s,/k, pushd,%V' -Verb RunAs\""
[HKEY_CLASSES_ROOT\LibraryFolder\background\shell\OpenCmdHere]
@="在此处打开命令窗口"
"Icon"="cmd.exe"
[HKEY_CLASSES_ROOT\LibraryFolder\background\shell\OpenCmdHere\command]
@="PowerShell -windowstyle hidden -Command \"Start-Process cmd.exe -ArgumentList '/s,/k, pushd,%V' -Verb RunAs\""

 

Win超级小工具

Windows-Kernel-Explorer
https://github.com/AxtMueller/Windows-Kernel-Explorer

Sysinternals Utilities
https://docs.microsoft.com/zh-cn/sysinternals/downloads/
常用三项,
Autoruns,启动管理
Process Explorer,当前进程管理
TCPView,当前网络连接管理,

nirsoft
http://www.nirsoft.net/
多是些小工具