Docker 安装 Nginx

Nginx 是一个高性能的 HTTP 和反向代理 web 服务器,同时也提供了 IMAP/POP3/SMTP 服务 。

1、查看可用的 Nginx 版本

访问 Nginx 镜像库地址: https://hub.docker.com/_/nginx?tab=tags。

可以通过 Sort by 查看其他版本的 Nginx,默认是最新版本 nginx:latest

你也可以在下拉列表中找到其他你想要的版本:

此外,我们还可以用 docker search nginx 命令来查看可用版本:

$ docker search nginx
NAME                      DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
nginx                     Official build of Nginx.                        3260      [OK]
jwilder/nginx-proxy       Automated Nginx reverse proxy for docker c...   674                  [OK]
richarvey/nginx-php-fpm   Container running Nginx + PHP-FPM capable ...   207                  [OK]
million12/nginx-php       Nginx + PHP-FPM 5.5, 5.6, 7.0 (NG), CentOS...   67                   [OK]
maxexcloo/nginx-php       Docker framework container with Nginx and ...   57                   [OK]
...

2、取最新版的 Nginx 镜像

这里我们拉取官方的最新版本的镜像:

$ docker pull nginx:latest

3、查看本地镜像

使用以下命令来查看是否已安装了 nginx:

$ docker images

在上图中可以看到我们已经安装了最新版本(latest)的 nginx 镜像。

4、运行容器

安装完成后,我们可以使用以下命令来运行 nginx 容器:

$ docker run --name nginx-test -p 8080:80 -d nginx

参数说明:

  • –name nginx-test:容器名称。
  • -p 8080:80: 端口进行映射,将本地 8080 端口映射到容器内部的 80 端口。
  • -d nginx: 设置容器在在后台一直运行。

5、安装成功

最后我们可以通过浏览器可以直接访问 8080 端口的 nginx 服务:

自定义挂载配置nginx

docker run \--name nginx \-d -p 80:80 \-v /Users/andy/docker/nginx/html:/usr/share/nginx/html \-v /Users/andy/docker/nginx/nginx.conf:/etc/nginx/nginx.conf:ro \-v /Users/andy/docker/nginx/conf.d:/etc/nginx/conf.d \-v /Users/andy/docker/nginx/logs:/var/log/nginx \nginx
# 1. 第一个“-v”,是项目位置,把项目放到挂载到的目录下即可
# 2. 第二个“-v”,是挂载的主配置文件"nginx.conf",注意"nginx.conf"文件内有一行
#    "include /etc/nginx/conf.d/*.conf;" ,
#    这个include指向了子配置文件的路径,此处注意include后所跟的路径一定不能出错
# 3. 第三个“-v”,把docker内子配置文件的路径也挂载了出来,注意要与 “2.” 中include指向路径一致
# 4. 第四个“-v”,把nginx日志挂载出来
# 5. nginx.conf是挂载了一个文件(docker是不推荐这样用的),conf.d挂载的是一个目录

准备挂载的 nginx.conf :(放入/Users/andy/docker/nginx/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;
}

准备挂载的 default.conf (/Users/andy/docker/nginx/conf.d):

erver {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;}location /api{proxy_pass http://192.168.1.1:9999/api;# access_log "logs/test.log";}
}

Docker(十):Docker实战 Docker 安装 Nginx相关推荐

  1. Docker(十二):Docker+Jenkins+Nginx+Spring Boot 自动化部署项目

    前言 虽然Docker已经是风靡全球的容器技术了,统一环境避免环境问题上是Docker的主要吸引点之一,但使用时详细还是会遇到不少问题的,比如个人搭建时曾思考过这些问题: Jenkins官网既然有Do ...

  2. 【docker】第二节:安装nginx、mysql、php

    教程:centos下docker的安装教程 范围:用于docker的nmp环境的安装,nmp全称是nginx.mysql.php. 安装前先创建一个dockerHub的帐号 步骤一:先注册一个dock ...

  3. docker容器企业级实战——docker部署与操作实践

    docker介绍 什么是docker Docker使用Go语言开发,基于Linux内核的cgroup.namespace以及Unionfs等技术,对进程进行封装隔离,属于操作系统层面的虚拟化技术,由于 ...

  4. Docker笔记:常用服务安装——Nginx、MySql、Redis(转载)

    转载地址:https://www.cnblogs.com/spec-dog/p/11320513.html 开发中经常需要安装一些常用的服务软件,如Nginx.MySql.Redis等,如果按照普通的 ...

  5. Docker 入门到实战 之 安装RocketMQ

    --- Don`t be the same, be better!---         RocketMQ 是一个队列模型的消息中间件,具有高性能.高可靠.高实时.分布式特点. 具体的描述可参考官网文 ...

  6. Docker(十五):Docker实战 使用 docker-compose

    本章通过一个具体的demo来了解 docker-compose docker-compose 是做什么的 在构建一个完整的服务时,我们通常启动一个容器, 一旦出现多个容器需要同时启动的时候手打是下下之 ...

  7. Docker 入门到实战 之 安装SVN

    1.镜像下载 查找镜像 docker search svn 拉取镜像 docker pull docker.io/garethflowers/svn-server 查看镜像 docker images ...

  8. Docker(十四):Docker:网络模式详解

    Docker作为目前最火的轻量级容器技术,牛逼的功能,如Docker的镜像管理,不足的地方网络方面. Docker自身的4种网络工作方式,和一些自定义网络模式 安装Docker时,它会自动创建三个网络 ...

  9. Docker虚拟化命令实战

    Docker虚拟化命令实战 Docker典型命令演练 docker search命令实战 docker pull命令实战 docker images命令实战 docker run命令实战 docker ...

  10. Docker基础、利用Docker Compose部署Vue项目

    前言 最近,接触了Docker,写一个笔记记录一下学习的成果.参考了docker官网和一个b站老师的讲解教程Docker快速上手教程,受益良多! 一.Docker安装和重要概念 1.安装docker ...

最新文章

  1. zabbix trapper方式监控
  2. Ansible — 示例与最佳实践
  3. 下载了python在哪里写代码-通过python下载FTP上的文件夹的实现代码
  4. 理解 Delphi 的类(十一) - 深入类中的方法[3] - 方法在实现时的参数省略
  5. Boost:是否支持sse2指令的测试程序
  6. python二维高斯分布生成_python 多维高斯分布数据生成方式
  7. 万能门店小程序_关于传统门店开发微信小程序的优势
  8. C语言高级编程:二级指针的赋值
  9. [MVC学习笔记]1.项目结构搭建及单个类在各个层次中的实现
  10. Linux 高性能服务器编程——多线程编程
  11. cocos2d c 调用java_cocos2d-x之C++ 调用Java函数并接收返回值
  12. duplicate database的时候,rman连接 auxiliary database的后状态不正确
  13. modelsim多模块联合仿真时,同一signal,一边有信号另一边没有的问题
  14. 语言包常用语言对应代码
  15. 优锘|ThingJS-X零代码平台:七大智慧场景全新Demo
  16. 项目管理包含了哪些特征?
  17. Windows7快捷方式图标丢失的解决方案
  18. 闲鱼双11端侧实践总结
  19. 什么是UV贴图和展开?没有他们3D建模会变成什么样?来看看!
  20. Android Surface 介绍

热门文章

  1. 重磅!「肠道菌群」项目征集,百万科研经费助力细分领域全新突破
  2. SPIEC-EASI的微生物网络构建示例
  3. 国自然基金标书构思及撰写经验分享会
  4. 2019年上半年国内学者在植物领域共发表6篇Science, 1篇Nature,1篇Cell!
  5. Nature-2012-拟南芥根系微生物组的结构
  6. Error: Discrete value supplied to continuous scale
  7. R语言ggplot2可视化、在可视化区域中自定义添加多个大小不同矩形阴影区域、自定义配置大小不同矩形阴影区域的颜色(Adding multiple shadows/rectangles)
  8. R语言使用ggplot2包使用geom_violin函数绘制分组小提琴图(配置图例位置、移除图例)实战
  9. R将dataframe数据保存为csv文件
  10. R构建鲁棒回归模型(Robust Regression)