Docker 系列(四十三):Nginx 容器实战

Nginx 是开源的高效的 Web 服务器实现,支持 HTTP、HTTPS、SMTP、POP3、IMAP 等协议。官方在 Docker Hub 上维护了官方镜像仓库,提供了 Nginx 1.0 ~ 1.19.x 各个版本的镜像。

启动静态页面服务器

下面的命令将作为一个静态页面服务器启动:

docker run --name some-nginx -v /some/content:/usr/share/nginx/html:ro -d nginx

用户也可以不使用这种映射方式,通过利用 Dockerfile 来直接将静态页面内容放到镜像中,内容为(static-html-directory 指本地存放静态页面的目录):

FROM nginx
COPY static-html-directory /usr/share/nginx/html

之后生成新的镜像,并启动一个容器:

docker build -t some-content-nginx .
docker run --name some-nginx -d some-content-nginx

开放端口

开放端口,并映射到本地的 8080 端口:

docker run --name some-nginx -d -p 8080:80 some-content-nginx

使用自定义配置文件

Nginx 的默认配置文件路径为 /etc/nginx/nginx.conf,可以通过映射它来使用本地的配置文件,例如:

docker run -d \
    --name some-nginx \
    -v /some/nginx.conf:/etc/nginx/nginx.conf:ro \
    nginx

系列导航


   转载规则


《Docker 系列(四十三):Nginx 容器实战》 由 吴杭沉 采用 知识共享署名 4.0 国际许可协议 进行许可。
 上一篇
Docker 系列(四十四):容器诡异退出的 137 码 Docker 系列(四十四):容器诡异退出的 137 码
最近发生了一件诡异的事:跑在一台测试服务器上的一个 Tomcat 的 Docker 容器隔几天都会以 ExitCode: 137 退出。最近几天一直很平稳,没有一个容器退出过,直到今天早上 10 点左右,这台机上所有 Tomcat 容器都一
2023-06-13
下一篇 
Docker 系列(四十二):X86 平台使用容器交叉编译 Docker 系列(四十二):X86 平台使用容器交叉编译
本文针对在 x86 平台(Ubuntu 系统)如何交叉编译其他平台程序给出思路和解决方案,实践性较强。 一、思路目的:在 x86 上用 Docker 方式交叉编译 arm 平台程序。有时项目庞大,依赖库之多,以至于用新标准,或 boost
2023-05-30
  目录