Docker安装Nginx

1、编写Dockerfile

# 指定基础镜像,必须为第一个命令
# 可以使用镜像ID或者镜像名称 例如 nginx:1.14
FROM nginx
# 将本地文件添加到容器中
# 将dist文件中的内容复制到 /usr/local/nginx/html/ 这个目录下面,该路径是nginx容器生成的一个虚拟路径,你的项目会存在这里。
COPY dist/  /usr/local/nginx/html/
COPY nginx.conf /etc/nginx/nginx.conf
# 构建镜像时执行的命令
RUN echo 'echo init ok!!'

2、配置nginx.conf


user  nginx;
worker_processes  auto;

error_log  /var/log/nginx/error.log notice;
pid        /var/run/nginx.pid;


events {
    worker_connections  1024;
}


http {
    include       /etc/nginx/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  /var/log/nginx/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    keepalive_timeout  65;

    #gzip  on;

    include /etc/nginx/conf.d/*.conf;
    server{
       #listen 80;
       listen 443 ssl;
       server_name 域名;
       
       ssl_certificate /etc/nginx/cert/***.pem;  # 指定证书的位置,绝对路径
       ssl_certificate_key /etc/nginx/cert/***.key;  # 绝对路径,同上
        
       ssl_session_timeout 5m;
       ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #按照这个协议配置
       ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;#按照这个套件配置
       ssl_prefer_server_ciphers on;
       ssl_session_cache shared:SSL:1m;
 
       fastcgi_param  HTTPS        on;
       fastcgi_param  HTTP_SCHEME     https;
       location /{
         #root /usr/share/nginx/html;
          proxy_pass http://外网IP:8011;
         #proxy_redirect default;
       }
       
    }        
}

3、编写jar启动Dockerfile

FROM java:8
VOLUME /tmp
ADD gateway.jar gateway.jar
EXPOSE 8040
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/gateway.jar"]

4、修改配置文件,配置Nginx指向jar访问地址

5、添加https证书


朝花夕拾
一个程序员
102 声望
13 粉丝
0 条评论
推荐阅读
Ubuntu安装JDK
一、Ubuntu修改管理员密码及添加用户1、Ubuntu刚安装后,root没有默认密码,需要手动设定。 {代码...} 2、添加用户 {代码...} {代码...} 3、添加管理员权限 {代码...} 4、切换用户 {代码...} 5、以管理员权限运行...

恒不动阅读 374

张晋涛:我的 2022 总结
大家好,我是张晋涛。2022 年已经结束,我每年都会惯例的做个小回顾,今年因为阳了在恢复身体,一直拖到了今天才写。生活在 2022 年初做回顾的时候,觉得 2021 是魔幻的一年,但现在看来 2022 年其实更加魔幻。一...

张晋涛6阅读 1.1k评论 2

封面图
利用Docker部署管理LDAP及其初次使用
前言:本周主要写了gitlabWebhook转github的项目,总体上没有遇到什么大问题,这周接触到了LDAP,于是就花时间实际操作了解了一下。

李明5阅读 1.3k

Docker学习:Image的本地存储结构
在使用Docker时候,针对镜像的操作一般就是docker pull,docker build,docker commit(刚开始接触Docker的时候,还不会Dockerfile,经常使用这个命令,但是经历了一次血的教训,已经放弃这个命令很久)这些操作...

backbp4阅读 10k评论 3

使用docker快速搭建xssPlatform测试平台实践
笔者之前给一些开发团队多次做Web安全开发培训,为了让培训的学员能够理解XSS原理和XSS的危害,将xssPlatform进行了更新,之前一直放在GitHub中;发现关注的人越来越多,很多人在安装的过程中遇到问题不知道怎么...

汤青松1阅读 26.2k

将node.js 应用构建成docker镜像
本文内容:将node.js 应用构建成dokcer镜像, 并上传到阿里云创建 Node.js 应用1.首先,创建一个 package.json 文件,描述你应用程序以及需要的依赖: {代码...} 2.运行 npm install这会自动生成一个 package-lock...

weiweiyi3阅读 741

突破难关:Docker镜像和容器的区别以及构建的最佳实践
Docker 可谓是开启了容器化技术的新时代,现在无论大中小公司基本上都对容器化技术有不同程度的尝试,或是已经进行了大量容器化的改造。伴随着 Kubernetes 和 Cloud Native 等技术和理念的普及,也大大增加了业务...

张晋涛4阅读 416

封面图
102 声望
13 粉丝
宣传栏