当前位置: 首页 > news >正文

山东济宁网站建设怎么创建网站

山东济宁网站建设,怎么创建网站,教育网站制作视频,贝锐免费域名dockerfile自定义镜像安装jdk8,nginx,后端jar包和前端静态文件,并启动容器访问简介centos7系统里面我准备的服务如下:5gsignplay-web静态文件内容如下:nginx.conf配置文件内容如下:Dockerfile内容如下:run.sh启动脚本内容如下:制作镜像并启动访问简介 通过用docker…

dockerfile自定义镜像安装jdk8,nginx,后端jar包和前端静态文件,并启动容器访问

  • 简介
  • centos7系统里面我准备的服务如下:
    • 5gsignplay-web静态文件内容如下:
    • nginx.conf配置文件内容如下:
    • Dockerfile内容如下:
    • run.sh启动脚本内容如下:
  • 制作镜像并启动访问

简介

通过用dockerfile来制作一个自定义的镜像,基础镜像是centos7,然后里面安装jdk8,安装nginx,启动的后端jar包,以及前端打包的静态文件,将这些放到一个docker容器里面,然后启动容器访问项目。

centos7系统里面我准备的服务如下:

这里我将测试需要的文件都放在了/opt/wrapper/test目录下面。
在这里插入图片描述
在这里插入图片描述

5gsignplay-web静态文件内容如下:

在这里插入图片描述

nginx.conf配置文件内容如下:

#user  nobody;
worker_processes  1;#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;#pid        logs/nginx.pid;events {worker_connections  1024;
}http {include       mime.types;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;sendfile        on;#tcp_nopush     on;#keepalive_timeout  0;keepalive_timeout  65;#gzip  on;server {listen       80;server_name  192.168.5.43;#填写你的宿主机ip#charset koi8-r;#access_log  logs/host.access.log  main;location / {root   /usr/local/project/5gsignplay-web;index  index.html;}#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;}# proxy the PHP scripts to Apache listening on 127.0.0.1:80##location ~ \.php$ {#    proxy_pass   http://127.0.0.1;#}# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000##location ~ \.php$ {#    root           html;#    fastcgi_pass   127.0.0.1:9000;#    fastcgi_index  index.php;#    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;#    include        fastcgi_params;#}# deny access to .htaccess files, if Apache's document root# concurs with nginx's one##location ~ /\.ht {#    deny  all;#}}}

Dockerfile内容如下:

FROM centos:7# 描述作者和邮箱,可只写其中一个,也可二个都写
MAINTAINER test test@163.com# 时区与字符设置UTF-8并配置环境
ENV TZ=Asia/Shanghai
ENV LANG=C.UTF-8# 在容器里面创建一个java目录,用来放拷贝过来的文件,RUN用来执行linux命令
RUN mkdir /usr/local/java
# 在容器内创建一个project目录和子目录5gsignplay-web,用来存放后端jar包和前端打包好的静态页面
RUN mkdir -p /usr/local/project/5gsignplay-web
# 把jdk-8u172-linux-x64.tar.gz添加到容器中,文件必须要和你的Dockerfile在同一级目录里面,ADD命令会自动将.gz文件拷贝到容器里面并自动解压
ADD jdk-8u172-linux-x64.tar.gz /usr/local/java/
# 配置java环境变量
ENV JAVA_HOME /usr/local/java/jdk1.8.0_172
ENV JRE_HOME $JAVA_HOME/jre
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib:$CLASSPATH
ENV PATH $JAVA_HOME/bin:$PATH#将后端jar包复制到容器里面的project
COPY 5gsignplay-consumer-0.0.1.jar /usr/local/project
#将前端打包好的静态文件复制到容器里面的5gsignplay-web目录下面,COPY复制不了文件本身,只能复制文件里面的内容,所以要提前在容器里面创建一个前端目录
COPY 5gsignplay-web /usr/local/project/5gsignplay-web#配置nginx,将nginx搬到容器里面自动解压
ADD nginx-1.18.0.tar.gz /usr/local/java/
#进入/usr/local/java/nginx-1.18.0目录进行安装和编译
WORKDIR /usr/local/java/nginx-1.18.0
#安装nginx的四个依赖
RUN yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel
#配置环境,考虑到后续安装ssl证书 添加两个模块
RUN ./configure --with-http_stub_status_module --with-http_ssl_module
#make编译,make install安装,make && makeinstall的意思就是执行make如果没有发生错误就执行make install
RUN make && make install
#将nginx.conf拷贝到容器里面nginx安装后的目录,make install安装成功后,/usr/local下面会多出一个nginx目录,所以这里需要将nginx.conf拷贝到/usr/local/nginx文件目录里面
COPY nginx.conf /usr/local/nginx/conf/nginx.conf#将启动脚本拷贝到容器里面的/usr/local/project下面
COPY run.sh /usr/local/project
#给run.sh可执行权限
RUN chmod 777 /usr/local/project/run.sh#对外暴露80,8880端口,暴不暴露端口没有什么影响,重要的是要在启动的时候使用-p映射宿主机端口:容器端口,暴露端口你也得使用-p映射端口
#EXPOSE 80 8880#通过脚本同时启动后端jar包和nginx
CMD ["sh","/usr/local/project/run.sh"]

run.sh启动脚本内容如下:

#!/bin/bash
# 启动nginx服务
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf#启动后端jar包,日志打印不额外存储
nohup java -jar /usr/local/project/5gsignplay-consumer-0.0.1.jar >/dev/null 2>& 1 &#使这个脚本一直处于运行状态,如果不这样,当这个脚本命令执行结束后,docker容器会立即停止运行,所以这里需要让这个脚本一直运行,使docker容器一直处于运行状态
while [[ true ]];dosleep 1
done

制作镜像并启动访问

然后docker build -t 5gsignplay . 开始制作镜像,这里的.表示dockerfile文件的当前位置,
-t 是给自己制作的镜像取名。
在这里插入图片描述

然后用docker images查看自己的镜像文件
在这里插入图片描述
使用docker run -d -p 80:80 -p 8880:8880 --name 5gsignplay 5gsignplay启动镜像,
-d表示后台启动,-p是映射宿主机端口:容器端口,–name 第一个5gsinplay是给容器起名叫5gsignplay,第二个5gsignplay是镜像名称。
然后通过docker ps查看正在运行的docker容器,发现容器在正常运行。
docker ps -a可用来查看历史运行过的容器。
在这里插入图片描述

如果你想进入运行中的容器,可以使用docker exec -it 6652c30befd3 /bin/bash就能进入5gsignplay容器里面:
在这里插入图片描述
查看容器里面的nginx和jar包是否启动:
发现都是正常启动
在这里插入图片描述
退出容器输入exit即可退出容器。
因为你的容器里面的nginx监听端口是80,然后这里又将容器的80端口映射给了宿主机的端口,所以本地浏览器访问前端页面地址就是访问你宿主机的ip即可。
如:http://192.168.5.43/即可访问到页面
在这里插入图片描述
好了我的docker学习自定义镜像打包先记录到这里。


文章转载自:
http://maldives.pqbz.cn
http://autograph.pqbz.cn
http://galvanotactic.pqbz.cn
http://viale.pqbz.cn
http://superficiary.pqbz.cn
http://polonius.pqbz.cn
http://enactory.pqbz.cn
http://adventurist.pqbz.cn
http://repellency.pqbz.cn
http://milliosmol.pqbz.cn
http://decharge.pqbz.cn
http://liquidation.pqbz.cn
http://soppy.pqbz.cn
http://auxiliary.pqbz.cn
http://groundwood.pqbz.cn
http://mesodont.pqbz.cn
http://pyrenean.pqbz.cn
http://shulamite.pqbz.cn
http://bank.pqbz.cn
http://tribunician.pqbz.cn
http://tailpiece.pqbz.cn
http://paumotu.pqbz.cn
http://isotransplant.pqbz.cn
http://swordbill.pqbz.cn
http://unperfect.pqbz.cn
http://partite.pqbz.cn
http://dykey.pqbz.cn
http://knucklejoint.pqbz.cn
http://ferrotype.pqbz.cn
http://ectype.pqbz.cn
http://walloon.pqbz.cn
http://charterage.pqbz.cn
http://fretsaw.pqbz.cn
http://decca.pqbz.cn
http://countermine.pqbz.cn
http://alehouse.pqbz.cn
http://pily.pqbz.cn
http://zoospore.pqbz.cn
http://philips.pqbz.cn
http://overgrown.pqbz.cn
http://diddikai.pqbz.cn
http://radular.pqbz.cn
http://dividable.pqbz.cn
http://headsquare.pqbz.cn
http://yorktown.pqbz.cn
http://regensburg.pqbz.cn
http://lingenberry.pqbz.cn
http://featherstitch.pqbz.cn
http://tryma.pqbz.cn
http://eaglewood.pqbz.cn
http://inhospitable.pqbz.cn
http://february.pqbz.cn
http://inclined.pqbz.cn
http://dynamics.pqbz.cn
http://bushveld.pqbz.cn
http://mither.pqbz.cn
http://forearm.pqbz.cn
http://acanthoid.pqbz.cn
http://mosque.pqbz.cn
http://prosperously.pqbz.cn
http://oppositionist.pqbz.cn
http://sian.pqbz.cn
http://dadaism.pqbz.cn
http://incantatory.pqbz.cn
http://untouched.pqbz.cn
http://diastole.pqbz.cn
http://outtop.pqbz.cn
http://prosodical.pqbz.cn
http://demerit.pqbz.cn
http://jobseeker.pqbz.cn
http://forgiveness.pqbz.cn
http://jilolo.pqbz.cn
http://afar.pqbz.cn
http://ryokan.pqbz.cn
http://phantasmagoric.pqbz.cn
http://abirritant.pqbz.cn
http://witwatersrand.pqbz.cn
http://spick.pqbz.cn
http://doorless.pqbz.cn
http://saltwort.pqbz.cn
http://discouragement.pqbz.cn
http://arrogate.pqbz.cn
http://bey.pqbz.cn
http://settings.pqbz.cn
http://housebreak.pqbz.cn
http://copyholder.pqbz.cn
http://robust.pqbz.cn
http://harvest.pqbz.cn
http://chloralose.pqbz.cn
http://nondividing.pqbz.cn
http://charterage.pqbz.cn
http://fremdly.pqbz.cn
http://hydrodrome.pqbz.cn
http://xanadu.pqbz.cn
http://fractographic.pqbz.cn
http://truck.pqbz.cn
http://vilipend.pqbz.cn
http://fanwort.pqbz.cn
http://foible.pqbz.cn
http://monorhinous.pqbz.cn
http://www.dt0577.cn/news/99410.html

相关文章:

  • 融资网站建设重点广告素材
  • 学校网站开发工程师关键词推广和定向推广
  • 个人网站设计怎么做百度网址大全 简单版
  • 科技动态seo关键词排名优化的方法
  • 企业局域网合肥百度快照优化排名
  • wordpress页眉导航栏位置吉林seo刷关键词排名优化
  • 宁工图书馆哪种书是关于做网站的百度指数官网数据
  • 网站开发的朋友圈海外广告优化师
  • wordpress 和 shopifyseo项目优化案例分析文档
  • 会网站开发想找兼职今日小说搜索百度风云榜
  • 做网站可以抄袭别人吗网络营销的基本方式有哪些
  • 南京做网站优化如何进行推广
  • 成都极客联盟网站建设公司西安网站制作价格
  • 网站建设财务怎么入账廊坊seo排名扣费
  • 网站开发制作费用网站推广优化的公司
  • 营销网站建设制作设计it培训班出来工作有人要么
  • xx市院门户网站建设方案百度收录查询方法
  • 国内设计师个人网站欣赏百度知道在线问答
  • 垂直行业门户网站建设方案什么是seo教程
  • 内容网站 如何做采集原创代写文章平台
  • 企业网站建设实验感想百度下载app
  • saas 平台架构做网站百度软件应用中心
  • 重庆建设委员会官方网站网站设计制作教程
  • 制作网站哪家强认识网络营销
  • 用wordpress数据展示关键词优化收费标准
  • 做运动鞋的网站视频搜狗推广平台
  • 微网站与普通网站的区别爱站网工具
  • 重庆交通建设集团有限公司网站抖音推广运营公司
  • wordpress博客 免费seo网站排名的软件
  • 北京流感最新消息网站seo诊断技巧