千家信息网

Docker容器配置Nginx实例分享

发表于:2025-02-02 作者:千家信息网编辑
千家信息网最后更新 2025年02月02日,这篇文章主要介绍了Docker容器配置Nginx实例分享的相关资料,需要的朋友可以参考下作为目前最火的应用,Docker 确实存在着其独到之处,无论是程序猿还是运维都应该听说过 Docker 的大名,
千家信息网最后更新 2025年02月02日Docker容器配置Nginx实例分享

这篇文章主要介绍了Docker容器配置Nginx实例分享的相关资料,需要的朋友可以参考下
作为目前最火的应用,Docker 确实存在着其独到之处,无论是程序猿还是运维都应该听说过 Docker 的大名,Docker 已经走过了许多的坑,目前最新版本是 v1.11.0 版本,应该说是完全能承载开发使用和运维监控,这款工具能帮助我们高效的打包、发布和运行承载着应用程序的容器系统。而且收集日志、帮助 App 的快速开发都有很大作用。

容器和虚拟机,经常是被拿出来对比的两款产品,实际上两者有着根本的差别,虚拟机是完全模拟了一台真实计算机,在上面运行的系统可能或者不可能知道自己运行在虚拟化环境下,并且虚拟机承载了将用户指令转换为特权指令的功能,所以虚拟机非常复杂,但是很完备,而 Docker 则完全不同。Docker 使用主机自身的 Linux 内核,然后从镜像中产生磁盘目录和软件,所有的进程都运行在主机上,如果有兴趣的话完全可以 ps aux 查询一下,就能发现在 Docker 中运行的进程,只不过 Docker 对其做了如同 chroot 差不多概念的封装。

Docker 真正用法

在 Docker 发展的早期,由于 busybox 等轻量化镜像不完备,所以各大发行版的缩减瘦身镜像得到了更多的使用,特别是由于 Docker 本身是在 Ubuntu 环境下开发的,所以 Ubuntu 和 Debian 在很多镜像中作为基镜像,以此作为基础产生目标镜像。但是随着在实践中的使用,其弊端也暴露出来了,就是太过于重量化,比如 systemd 的日志功能和 Docker 本身的日志功能被重复使用,镜像很难缩小到 300M 以内。而且 Docker 的推荐使用方式就是单进程模型,而并非是多个进程如同一个完备的操作系统一般。所以就产生了 alpine 等轻量级基镜像,alpine 是什么则可以自行百度,这个镜像是 Docker 官方推荐的镜像,未来官方镜像将会迁移到 alpine 作为基础的镜像上,所以,我们应当早日熟悉此镜像。

构建 Dockerfile

本文讲述的是 Docker 容器的 Nginx 实践,不过官方实际上已经有了关于 Nginx 的 alpine 镜像。而在实际使用过程中,笔者更多的是使用 Tengine,所以根据官方 Dockerfile 的参考,笔者自行编写了 Tengine 镜像的 Dockerfile,希望能抛砖引玉,各位能够批评指正。

FROM alpine:3.3MAINTAINER ChasonTang chasontang@gmail.com ENV TENGINE_VERSION 2.1.2ENV CONFIG "\ --prefix=/etc/nginx \ --sbin-path=/usr/sbin/nginx \ --conf-path=/etc/nginx/nginx.conf \ --error-log-path=/var/log/nginx/error.log \ --http-log-path=/var/log/nginx/access.log \ --pid-path=/var/run/nginx.pid \ --lock-path=/var/run/nginx.lock \ --http-client-body-temp-path=/var/cache/nginx/client_temp \ --http-proxy-temp-path=/var/cache/nginx/proxy_temp \ --http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp \ --http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp \ --http-scgi-temp-path=/var/cache/nginx/scgi_temp \ --user=nginx \ --group=nginx \ --with-http_ssl_module \ --with-http_realip_module \ --with-http_addition_module \ --with-http_sub_module \ --with-http_dav_module \ --with-http_flv_module \ --with-http_mp4_module \ --with-http_gunzip_module \ --with-http_gzip_static_module \ --with-http_random_index_module \ --with-http_secure_link_module \ --with-http_auth_request_module \ --with-mail \ --with-mail_ssl_module \ --with-file-aio \ --with-http_spdy_module \ --with-ipv6 \ --with-jemalloc \ "ADD ngx_user.patch /ADD repositories /etc/apk/repositoriesRUN \ addgroup -S nginx \ && adduser -D -S -h /var/cache/nginx -s /sbin/nologin -G nginx nginx \ && apk add --no-cache --virtual .build-deps \ gcc \ libc-dev \ make \ openssl-dev \ pcre-dev \ zlib-dev \ linux-headers \ curl \ jemalloc-dev \ && curl " http://tengine.taobao.org/download/tengine- KaTeX parse error: Expected 'EOF', got '&' at position 45: …ngine.tar.gz \ &̲& mkdir -p /usr… TENGINE_VERSION/src/os/unix/ \ && mv /ngx_user.patch ./ngx_user.patch \ && patch ngx_user.c ngx_user.patch \ && rm ngx_user.patch \ && cd …/…/…/ # && cd /usr/src/tengine-$TENGINE_VERSION \ && ./configure $CONFIG --with-debug \ && make \ && mv objs/nginx objs/nginx-debug \ && ./configure KaTeX parse error: Expected 'EOF', got '&' at position 10: CONFIG \ &̲& make \ && mak… ( \ scanelf --needed --nobanner /usr/sbin/nginx \ | awk '{ gsub(/,/, "\nso:", $2); print "so:" $2 }' \ | sort -u \ | xargs -r apk info --installed \ | sort -u \ )" \ && apk add --virtual .nginx-rundeps KaTeX parse error: Expected 'EOF', got '&' at position 11: runDeps \ &̲& apk del .buil… NGINX_VERSION \ && apk add --no-cache gettext \ \ # forward request and error logs to docker log collector && ln -sf /dev/stdout /var/log/nginx/access.log \ && ln -sf /dev/stderr /var/log/nginx/error.logCOPY nginx.conf /etc/nginx/nginx.confCOPY nginx.vh.default.conf /etc/nginx/conf.d/default.confEXPOSE 80 443CMD ["nginx", "-g", "daemon off;"]

文章来源:搜索引擎大全http://www.iis7.com/b/ssyqdq/


镜像 运行 容器 官方 进程 功能 实际 日志 系统 开发 主机 基础 实际上 就是 指令 更多 版本 环境 程序 笔者 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 计算机网络技术给好吗 小游戏服务器id java数据库驱动设计模式 企业开展网络安全教育 阿里特招网络安全 poc是啥意思 软件开发 车载智能化网络技术 火山软件开发案例教程 内警网络安全与执法录取分数线 嵌入式软件开发陈文智pdf 三级网络技术学习软件 有关网络安全宣传作文 完美时空网络技术 不同网络服务器怎么传输数据 为什么游戏服务器比网通多 数据库原理多久能入门 三星服务器内存条可以玩游戏吗 单位网络安全规划方案 服务器连接被重置 自建ca服务器申请通配符证书 手机4g是不是移动数据库 服务器的snmp怎么开启 for循环查询数据库如何优化 网络技术在线课本 王者集结更新后找不到原来服务器 数据库建立索引的原则和目的 三级网络技术学习软件 中专计算机专业网络技术有用吗 彩虹六号异种链接服务器失败 新一代网络安全产业应该怎么做
0