前端bms制作镜像信创 这里以tonghttpserver为例子 没有按官方文档来制作的前端信创镜像这里的信创是需要授权文件的这里就不提供了。方便那些官网不好找资料的技术人员。这里的基础镜像也是厂商提供的目前没有去自己制作基础镜像。其实就是把THS目录复制到镜像里。vim DockerfileFROM tongtech.com/images/ths-instance:v6.0.1.3WORKDIR /opt/THSCOPY license.dat /opt/THS/license.datCOPY httpserver.conf /opt/THS/confCOPY dist /opt/THS/html/distCOPY start.sh /opt/THS/binRUN chmod x /opt/THS/bin/start.shEXPOSE 80CMD /opt/THS/bin/start.sh这里需要替换原本的start.sh文件vim start.sh#!/bin/shdir$(cd $(dirname $0)dirname $(pwd))namehttpserverpid_file$dir/logs/httpserver.pidexport LD_LIBRARY_PATH$dir/libs:$LD_LIBRARY_PATHstart() {ulimit -n unlimited /dev/null 21if [ -s $pid_file ]; thenpid$(cat $pid_file)num$(ps -ef | grep $pid | grep $name | grep -v grep | wc -l)if [ $num -eq 0 ]; then$dir/bin/$name -p $dir -c $dir/conf/httpserver.conf tail -f /dev/nullelseecho $name is runningexit 0fielse$dir/bin/$name -p $dir -c $dir/conf/httpserver.conf tail -f /dev/nullfi[ $? -eq 0 ] {echo $name start successexit 0} || {echo $name start error!exit 1}}stop() {if [ -s $pid_file ]; thenpid$(cat $pid_file)num$(ps -ef | grep $pid | grep $name | grep -v grep | wc -l)if [ $num -ne 0 ]; then$dir/bin/$name -p $dir -s stopfor i in {1..20}dostop_num$(ps -ef | grep $pid | grep $name | grep -v grep | wc -l)if [ $stop_num -eq 0 ]; thenbreakelsesleep 1fidoneelseecho $name stop successexit 0fielseecho $name stop successexit 0fiif [ -s $pid_file ]; thenecho $name stop error!elseecho $name stop successexit 0fi}reload() {$dir/bin/$name -p $dir -s reload[ $? -eq 0 ] {echo $name reload successexit 0} || {echo $name reload error!exit 1}}case $1 instart)start;;stop)stop;;reload)reload;;-*)$dir/bin/$name -p $dir $;;*)start;;esac主要是添加了启动命令让容器可以长期运行这里添加对应的前端配置文件vim httpserver.conf#user nobody;worker_processes 4;#error_log logs/error.log;#error_log logs/error.log notice;error_log logs/error.log error;pid logs/httpserver.pid;events {worker_connections 1024;use epoll;}http {include mime.types;include monitor.conf;default_type application/octet-stream;log_format main $remote_addr - $remote_user [$time_local] $request $status $body_bytes_sent $http_referer $http_user_agent $http_x_forwarded_for;#access_log logs/access.log main;access_log off;sendfile on;#tcp_nopush on;#keepalive_timeout 0;keepalive_timeout 60;#gzip on;server {listen 80 default_server;server_name _;root html;index index.html index.htm;location /dcyt-h5 {alias /opt/THS/html/dist;try_files $uri/ $uri /index.html last;add_header Access-Control-Allow-Origin *;}location / {alias /opt/THS/html/dist;try_files $uri/ $uri /index.html last;add_header Access-Control-Allow-Origin *;}location /actuator/info {add_header Content-Type text/plain;charsetutf-8;return 200 success;}}# server {# listen 8080;# server_name localhost;## #charset koi8-r;## #access_log logs/host.access.log main;# access_log off;## location / {# root html;# index index.html index.htm;# }## #error_page 404 /404.html;## # redirect server error pages to the static page /50x.html## error_page 500 502 503 504 /50x.html;# location /50x.html {# root html;# }## }}