博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
容器(docker)内运行Nginx
阅读量:5143 次
发布时间:2019-06-13

本文共 2287 字,大约阅读时间需要 7 分钟。

容器内运行nginx其实很简单,但是一开始还是浪费了我很多时间。这里写下来给大家省点时间。

 

1、创建nginx文件夹,放置各种配置及日志等。

mkdir /docker/nginx

docker 文件夹是我存放所有基础设施容器的地方。

2、创建nginx配置文件

cd /docker/nginx vim nginx.conf

nginx.conf为主配置文件

user  nginx;worker_processes  1;error_log  /var/log/nginx/error.log warn;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;}
View Code

最后一句include /etc/nginx/conf.d/*.conf;

这里的*.conf就是子配置。我只创建了一个default.conf

mkdir /docker/nginx/conf.dcd /docker/nginx/conf.dvim default.conf

在default.conf里面加入你的server级别的配置。

我这里只是监听了80端口,并反向代理到了5000端口

server {    listen       80;    server_name  localhost;    #charset koi8-r;    #access_log  /var/log/nginx/host.access.log  main;    location / {        root   /usr/share/nginx/html;        index  index.html index.htm;        proxy_redirect off;        proxy_set_header Host $host;        proxy_set_header X-Real-IP $remote_addr;        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;        proxy_pass http://127.0.0.1:5000;      # 这里设置你要代理的ip+端口    }}
View Code

3、创建docker-compose.yml容器编排

vim /docker/nginx/docker-compose.yml

docker-compose对格式要求很严格注意里面的空格。

解释下我的设置

restart  永远重启

image 从nginx镜像拉取

ports 输出使用80,443端口

volumes 挂载外部卷到docker内部。这样就可以使用我们刚才创建好的配置了。

(这里面:ro的意思是只读的意思,表示第一第二个卷只能被容器读取不能写入)

docker-compose文件内容如下方便大家copy

version: '3.0'services:  nginx:    restart: always    image: nginx    ports:      - 80:80      - 443:443    volumes:      - /docker/nginx/nginx.conf:/etc/nginx/nginx.conf:ro      - /docker/nginx/conf.d:/etc/nginx/conf.d:ro      - /docker/nginx/log:/var/log/nginx
View Code

4、运行

要保证在我们刚才创建的目录里

cd /docker/nginxdocker-compose up -d

加-d的意思是后台运行。大家可以试试不加 -d

 

5、其他 

  • 如果你的nginx版本跟你的配置不一致,你可以进入到容器内看看。
docker exec -it 容器id /bin/bash
  • 停止镜像 
docker-compose down

 

posted on
2019-01-15 10:20 阅读(
...) 评论(
...)

转载于:https://www.cnblogs.com/tianyamoon/p/10270461.html

你可能感兴趣的文章
error: more than one device and emulator 问题解决
查看>>
Android Studio 编译不通过,报错“找不到org.apache.http
查看>>
springmvc集成Freemarke配置的几点
查看>>
Django 学习
查看>>
Linux-以指定用户运行redis
查看>>
Linux-socket的close和shutdown区别及应用场景
查看>>
xpath
查看>>
parted分区
查看>>
图片标签img
查看>>
JavaScript语言中文参考手册.chm
查看>>
表哥的Access入门++以Excel视角快速学习数据库知识pdf
查看>>
TC 配置插件
查看>>
关于异步reset
查看>>
索引优先队列的工作原理与简易实现
查看>>
并发编程简介
查看>>
基于K-近邻分类算法的手写识别系统
查看>>
使用easyui的form提交表单,在IE下出现类似附件下载时提示是否保存的现象
查看>>
PC站跳转M站的方法
查看>>
wow 各职业体验(pvp)
查看>>
Streaming的receiver模式
查看>>