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

  Docker Hub上提供了不少鏡像,如Nginx,咱們不須要本身從ubuntu開始裝Nginx再作發佈,只須要先下載鏡像到本地javascript

docker pull nginx

在/opt下新建文件夾API,將須要發佈的Web應用(個人應用文件夾名稱是 ElecManageSystem)放到API下,建立並編輯nginx.conf配置文件,用於替換nginx的默認配置文件css

nginx.conf的內容以下(根據本身的狀況自行更改):html

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; } } }

而後建立並編輯Dockerfilejava

cd /opt
nano Dockerfile

Dockerfile的內容以下:node

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是新鏡像的名稱,可自行更改。nginx

docker build -t nginx-ems .

以剛建立的新鏡像nginx-ems爲系統模板運行容器docker

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

-i : 可交互,這裏只能監測訪問記錄;json

-p 1314:80 : 將容器的80端口映射到宿主機的1314端口上,即經過宿主機的1314端口便可訪問容器的80端口;ubuntu

--name ems : 給容器命名爲ems,可自行更改;app

nginx-ems : 運行容器的系統模板。

若有問題還可參考: https://hub.docker.com/_/nginx/

若有須要替換下本地Host: http://laod.cn/hosts/2016-google-hosts.html

相關文章
相關標籤/搜索