Docker安装运行Nginx

简介:

关于Docker运行Nginx的文章层出不穷,鄙人推荐http://www.runoob.com/docker/docker-install-nginx.html这篇文章中介绍的两种方法。在这里,我着重介绍下第二种方法吧,直接从docker Hub上拉取Nginx镜像,供我们使用。

 这里,我在虚拟机中安装了CentOS7,然后,安装docker,这一步,就不必详细介绍了。假设,你已经成功安装了docker。我这里安装的版本是1.13.1,API版本1.26,
Client:
 Version:         1.13.1
 API version:     1.26
 Package version: <unknown>
 Go version:      go1.8.3
 Git commit:      774336d/1.13.1
 Built:           Wed Mar  7 17:06:16 2018
 OS/Arch:         linux/amd64

Server:
 Version:         1.13.1
 API version:     1.26 (minimum version 1.12)
 Package version: <unknown>
 Go version:      go1.8.3
 Git commit:      774336d/1.13.1
 Built:           Wed Mar  7 17:06:16 2018
 OS/Arch:         linux/amd64
 Experimental:    false

首先,创建一个目录:

mkdir -p ~/nginx/www ~/nginx/logs ~/nginx/conf

命令进入nginx目录。

然后,我们通过docker search命令,来检索nginx镜像

docker search nginx
INDEX       NAME                                                             DES                                                                                                                                                    CRIPTION                                     STARS     OFFICIAL   AUTOMATED
docker.io   docker.io/nginx                                                  Off                                                                                                                                                    icial build of Nginx.                        8564      [OK]
docker.io   docker.io/jwilder/nginx-proxy                                    Aut                                                                                                                                                    omated Nginx reverse proxy for docker c...   1335                 [OK]
docker.io   docker.io/richarvey/nginx-php-fpm                                Con                                                                                                                                                    tainer running Nginx + PHP-FPM capable ...   547                  [OK]
docker.io   docker.io/jrcs/letsencrypt-nginx-proxy-companion                 Let                                                                                                                                                    sEncrypt container to use with nginx as...   368                  [OK]
docker.io   docker.io/kong                                                   Ope                                                                                                                                                    n-source Microservice & API Management ...   188       [OK]
docker.io   docker.io/webdevops/php-nginx                                    Ngi                                                                                                                                                    nx with PHP-FPM                              103                  [OK]
docker.io   docker.io/kitematic/hello-world-nginx                            A l                                                                                                                                                    ight-weight nginx container that demons...   99
docker.io   docker.io/bitnami/nginx                                          Bit                                                                                                                                                    nami nginx Docker Image                      52                   [OK]
docker.io   docker.io/zabbix/zabbix-web-nginx-mysql                          Zab                                                                                                                                                    bix frontend based on Nginx web-server ...   51                   [OK]
docker.io   docker.io/1and1internet/ubuntu-16-nginx-php-phpmyadmin-mysql-5   ubu                                                                                                                                                    ntu-16-nginx-php-phpmyadmin-mysql-5          35                   [OK]
docker.io   docker.io/linuxserver/nginx                                      An                                                                                                                                                     Nginx container, brought to you by Linu...   35
docker.io   docker.io/tobi312/rpi-nginx                                      NGI                                                                                                                                                    NX on Raspberry Pi / armhf                   19                   [OK]
docker.io   docker.io/nginxdemos/nginx-ingress                               NGI                                                                                                                                                    NX Ingress Controller for Kubernetes . ...   11
docker.io   docker.io/blacklabelops/nginx                                    Doc                                                                                                                                                    kerized Nginx Reverse Proxy Server.          9                    [OK]
docker.io   docker.io/wodby/drupal-nginx                                     Ngi                                                                                                                                                    nx for Drupal container image                9                    [OK]
docker.io   docker.io/webdevops/nginx                                        Ngi                                                                                                                                                    nx container                                 8                    [OK]
docker.io   docker.io/centos/nginx-18-centos7                                Pla                                                                                                                                                    tform for running nginx 1.8 or building...   6
docker.io   docker.io/nginxdemos/hello                                       NGI                                                                                                                                                    NX webserver that serves a simple page ...   6                    [OK]
docker.io   docker.io/1science/nginx                                         Ngi                                                                                                                                                    nx Docker images that include Consul Te...   4                    [OK]
docker.io   docker.io/centos/nginx-112-centos7                               Pla                                                                                                                                                    tform for running nginx 1.12 or buildin...   3
docker.io   docker.io/behance/docker-nginx                                   Pro                                                                                                                                                    vides base OS, patches and stable nginx...   2                    [OK]
docker.io   docker.io/pebbletech/nginx-proxy                                 ngi                                                                                                                                                    nx-proxy sets up a container running ng...   2                    [OK]
docker.io   docker.io/toccoag/openshift-nginx                                Ngi                                                                                                                                                    nx reverse proxy for Nice running on sa...   1                    [OK]
docker.io   docker.io/travix/nginx                                           NGi                                                                                                                                                    nx reverse proxy                             1                    [OK]
docker.io   docker.io/mailu/nginx                                            Mai                                

然后,通过docker pull命令,从远程拉取nginx镜像,命令如下:

docker pull nginx

拉取成功后,我们可以通过docker images命令,查看镜像:

[root@localhost nginx]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
docker.io/nginx     latest              ae513a47849c        4 weeks ago         109 MB

然后,通过docker run命令启动容器,运行镜像:

[root@localhost nginx]#  docker run -p 80:80 --name mynginx -v $PWD/www:/www -v $PWD/conf/nginx.conf:/etc/nginx/nginx.conf --privileged=true -v $PWD/logs:/www/logs -v $PWD/html:/etc/nginx/html  -d nginx

这里,-v $PWD/www:/www把主机当前目录下的www目录绑定到了docker中www目录。需要注意的是,

由于docker容器需要对nginx.conf的访问权限,因此,绑定nginx.conf文件时,后面添加--privileged=true命令。

通过docker ps命令,查看容器运行状况

[root@localhost nginx]# docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                NAMES
5b3e68a0d311        nginx               "nginx -g 'daemon ..."   26 minutes ago      Up 26 minutes       0.0.0.0:80->80/tcp   mynginx

也可以通过,docker ps -a查看所有容器,包括已经退出的容器。

经过以上步骤,nginx镜像已经成功在docker容器中运行,接下来,我们通过访问http://localhost来验证,正常情况下:

这样,我们的nginx已经启动成功了。

104656_QtUM_584165

注意事项:

1、如果出现运行容器后,docker ps没有发现容器进程,说明容器启动过程发生错误闪退,可以通过docker ps -a看到闪退的容器,然后,通过docker logs 容器名或容器ID来查看docker日志,里面记录了容器启动发生错误的原因,找到问题所在,就好办了。

这个过程中,还会经常用到docker rm移除容器的命令,docker logs 查看容器日志,docker stop/start/restart等停止/启动/重启命令。

由此,docker中运行NGINX的过程就完成了,一回生,二回熟,nginx的配置到启动,只需要秒秒钟。

目录
相关文章
|
5月前
|
应用服务中间件 网络安全 nginx
手把手教你使用 Docker 部署 Nginx 教程
本文详解Nginx核心功能与Docker部署优势,涵盖镜像拉取、容器化部署(快速、挂载、Compose)、HTTPS配置及常见问题处理,助力高效搭建稳定Web服务。
2236 4
|
8月前
|
关系型数据库 应用服务中间件 nginx
Docker一键安装中间件(RocketMq、Nginx、MySql、Minio、Jenkins、Redis)
本系列脚本提供RocketMQ、Nginx、MySQL、MinIO、Jenkins和Redis的Docker一键安装与配置方案,适用于快速部署微服务基础环境。
|
5月前
|
应用服务中间件 Linux nginx
在虚拟机Docker环境下部署Nginx的步骤。
以上就是在Docker环境下部署Nginx的步骤。需要注意,Docker和Nginix都有很多高级用法和细节需要掌握,以上只是一个基础入门级别的教程。如果你想要更深入地学习和使用它们,请参考官方文档或者其他专业书籍。
263 5
|
6月前
|
关系型数据库 数据库 PostgreSQL
docker 安装 Postgres 17.6
本文介绍如何通过Docker安装和配置PostgreSQL 17.6。内容包括拉取镜像、导出配置文件、运行容器并挂载数据与配置文件目录,以及进入容器使用psql操作数据库的完整步骤,便于持久化管理和自定义配置。
855 3
docker 安装 Postgres 17.6
|
5月前
|
NoSQL 算法 Redis
【Docker】(3)学习Docker中 镜像与容器数据卷、映射关系!手把手带你安装 MySql主从同步 和 Redis三主三从集群!并且进行主从切换与扩容操作,还有分析 哈希分区 等知识点!
Union文件系统(UnionFS)是一种**分层、轻量级并且高性能的文件系统**,它支持对文件系统的修改作为一次提交来一层层的叠加,同时可以将不同目录挂载到同一个虚拟文件系统下(unite several directories into a single virtual filesystem) Union 文件系统是 Docker 镜像的基础。 镜像可以通过分层来进行继承,基于基础镜像(没有父镜像),可以制作各种具体的应用镜像。
692 6
|
5月前
|
Java Linux 虚拟化
【Docker】(1)Docker的概述与架构,手把手带你安装Docker,云原生路上不可缺少的一门技术!
1. Docker简介 1.1 Docker是什么 为什么docker会出现? 假定您在开发一款平台项目,您的开发环境具有特定的配置。其他开发人员身处的环境配置也各有不同。 您正在开发的应用依赖于您当前的配置且还要依赖于某些配置文件。 您的企业还拥有标准化的测试和生产环境,且具有自身的配置和一系列支持文件。 **要求:**希望尽可能多在本地模拟这些环境而不产生重新创建服务器环境的开销 问题: 要如何确保应用能够在这些环境中运行和通过质量检测? 在部署过程中不出现令人头疼的版本、配置问题 无需重新编写代码和进行故障修复
519 2
|
10月前
|
Ubuntu 网络协议 应用服务中间件
在 Ubuntu 上安装 Nginx
在 Ubuntu 上安装和配置 Nginx 非常简单。首先更新系统包,然后通过 `apt` 安装 Nginx,检查服务状态并配置防火墙规则。访问服务器 IP 测试是否成功显示默认页面。还可管理服务、创建虚拟主机及排查常见问题,适合新手快速上手部署高性能 Web 服务。
1240 0
|
11月前
|
存储 安全 C++
Odoo 安装方式选择:源码安装 vs Docker
Odoo部署常采用源码编译或Docker容器化,但分别面临依赖复杂、版本风险和服务化难题,以及镜像臃肿和扩展受限的问题。Websoft9提出混合方案,融合两者优势:通过智能环境适配、三阶段部署流程(环境预检、混合模式选择、持久化配置)及声明式YAML配置,实现高效、灵活的双模运行时。此方案显著降低依赖冲突解决时间(从83分钟至0),生产环境构建耗时缩短至8分钟,并达100% CVE漏洞修复率,适合ERP定制开发与规模化部署的企业需求。
|
9月前
|
存储 NoSQL MongoDB
Docker中安装MongoDB并配置数据、日志、配置文件持久化。
现在,你有了一个运行在Docker中的MongoDB,它拥有自己的小空间,对高楼大厦的崩塌视而不见(会话丢失和数据不持久化的问题)。这个MongoDB的数据、日志、配置文件都会妥妥地保存在你为它精心准备的地方,天旋地转,它也不会失去一丁点儿宝贵的记忆(即使在容器重启后)。
1063 4