Dockerfile镜像部署

后端Dockerfile
#base mirror
FROM anapsix/alpine-java:8_server-jre
#create by
MAINTAINER gong<email@sth.com>
#set workdir
WORKDIR /app
#拷贝文件到容器
ADD app.jar /app/app.jar
ENV JAVA_OPTS="-server -Xms1024m -Xmx1024m"
#防止容器中的中文乱码
ENV LANG C.UTF-8
ENTRYPOINT [ "sh", "-c", "java $JAVA_OPTS -Djava.security.egd=file:/dev/./urandom -jar /app/app.jar" ]
前端Dockerfile
#基础 nginx镜像
FROM nginx:1.13.7
MAINTAINER gong<email@sth.com>
#把刚才生成dist文件夹下的文件copy到nginx下面去
COPY dist/  /usr/share/nginx/html/
#添加我们自己的配置 default.conf 在下面
COPY nginx.conf /etc/nginx/nginx.conf
#添加vim编辑器后期在容器中修改该nginx.conf配置
RUN mv /etc/apt/sources.list /etc/apt/sources.list.bak && \
    echo "deb http://mirrors.163.com/debian/ jessie main non-free contrib" >/etc/apt/sources.list && \
    echo "deb http://mirrors.163.com/debian/ jessie-proposed-updates main non-free contrib" >>/etc/apt/sources.list && \
    echo "deb-src http://mirrors.163.com/debian/ jessie main non-free contrib" >>/etc/apt/sources.list && \
    echo "deb-src http://mirrors.163.com/debian/ jessie-proposed-updates main non-free contrib" >>/etc/apt/sources.list
RUN apt-get update && apt-get install vim -y
#防止容器中的中文乱码
ENV LANG C.UTF-8
nginx.conf
#nginx进程,一般设置为和cpu核数一样
worker_processes  auto;
#进程存放地点
#pid   /usr/local/nginx/logs/nginx.pid;
#错误日志存放目录
error_log   /usr/local/nginx/logs/error.log crit;

#工作模式及连接数上限
events {
    worker_connections  65536; #单个后台worker process进程的最大并发链接数
    multi_accept on;
    use epoll;   #epoll是多路复用IO(I/O Multiplexing)中的一种方式,但是仅用于linux2.6以上内核,可以大大提高nginx的性能
}
http {
    include  mime.types;  #文件扩展名与类型映射表
    default_type  application/octet-stream; #默认文件类型

    #开启高效传输模式
    sendfile    on;
    #激活tcp_nopush参数可以允许把httpresponse header和文件的开始放在一个文件里发布,积极的作用是减少网络报文段的数量
    tcp_nopush  on;
    #激活tcp_nodelay,内核会等待将更多的字节组成一个数据包,从而提高I/O性能
    tcp_nodelay on;
    #隐藏响应header和错误通知中的版本号
    server_tokens off;

    #连接超时时间,单位是秒
    keepalive_timeout  10;
    client_header_timeout 10;
    client_body_timeout 10;
    reset_timedout_connection on;
    send_timeout 10;

    limit_conn_zone $binary_remote_addr zone=addr:5m;
    limit_conn addr 100;

    #开启gzip压缩功能
    gzip  on;
    gzip_disable "msie6"
    gzip_static on;
    gzip_proxied any;
    #设置允许压缩的页面最小字节数,页面字节数从header头的Content-Length中获取。默认值是0,表示不管页面多大都进行压缩。建议设置成大于1K。如果小于1K可能会越压越大。
    gzip_min_length 1000;
    #压缩比率。用来指定GZIP压缩比,1压缩比最小,处理速度最快;9压缩比最大,传输速度快,但处理最慢,也比较消耗cpu资源。
    gzip_comp_level 4;
    #用来指定压缩的类型,“text/html”类型总是会被压缩
    gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;

    open_file_cache max=100000 inactive=20s;
    open_file_cache_valid 30s;
    open_file_cache_min_uses 2;
    open_file_cache_errors on;

    # include /etc/nginx/conf.d/*.conf;
    # include /etc/nginx/sites-enabled/*;

    server {
        listen       8080;
        # 接口服务的IP地址
        server_name  localhost;
        charset utf-8;
        access_log off;
        location / {
          root   /usr/share/nginx/html;
          index  index.html index.htm;
        }

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
           root   html;
        }
    }
}
  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值