利用Docker Hub上的Nginx部署Web应用


  Docker Hub上提供了很多镜像,如Nginx,我们不需要自己从ubuntu开始装Nginx再做发布,只需要先下载镜像到本地

docker pull nginx

在/opt下新建文件夹API,将需要发布的Web应用(我的应用文件夹名称是 ElecManageSystem)放到API下,创建并编辑nginx.conf配置文件,用于替换nginx的默认配置文件

nginx.conf的内容如下(根据自己的情况自行更改):

worker_processes auto; #pid /usr/local/nginx/logs/nginx.pid; #error_log /usr/local/nginx/logs/error.log crit; worker_rlimit_nofile 1000000; events { worker_connections 65536; multi_accept on; use epoll; } http { include mime.types; default_type application/octet-stream; sendfile on; tcp_nopush on; tcp_nodelay on; 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 on; gzip_disable "msie6" gzip_static on; gzip_proxied any; gzip_min_length 1000; gzip_comp_level 4; 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 80; # 接口服务的IP地址 server_name xxx.xx.xx.xx; charset utf-8; access_log off; # ElecManageSystem-应用文件夹名称 app-index.html页面所在文件夹 root /usr/share/nginx/html/ElecManageSystem/app; location / { index index.html index.htm; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } } }

然后创建并编辑Dockerfile

cd /opt
nano Dockerfile

Dockerfile的内容如下:

FROM nginx
MAINTAINER king

# 将API下的应用文件夹复制到到容器的 /usr/share/nginx/html 路径下,API文件夹不会过去。
ADD API /usr/share/nginx/html
# 用编辑过的nginx.conf替换默认的配置文件
COPY nginx.conf /etc/nginx/nginx.conf

在/opt下打开终端,或者打开终端后进入到/opt下(cd /opt),在这里根据Dockerfile创建新的镜像。nginx-ems是新镜像的名称,可自行更改。

docker build -t nginx-ems .

以刚创建的新镜像nginx-ems为系统模板运行容器

docker run -i -p 1314:80 -t --name ems nginx-ems

-i : 可交互,这里只能监测访问记录;

-p 1314:80 : 将容器的80端口映射到宿主机的1314端口上,即通过宿主机的1314端口即可访问容器的80端口;

--name ems : 给容器命名为ems,可自行更改;

nginx-ems : 运行容器的系统模板。

如有问题还可参考: https://hub.docker.com/_/nginx/

如有需要替换下本地Host: http://laod.cn/hosts/2016-google-hosts.html


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM