Docker部署Nginx(五)

Docker Hub 地址:https://hub.docker.com/

Nginx镜像地址:https://hub.docker.com/_/nginx

1、搜索 Nginx 镜像

[root@localhost home]# docker search nginx
NAME                                              DESCRIPTION                                     STARS               OFFICIAL            AUTOMATED
nginx                                             Official build of Nginx.                        16726               [OK]                
bitnami/nginx                                     Bitnami nginx Docker Image                      124                                     [OK]
ubuntu/nginx                                      Nginx, a high-performance reverse proxy & we…   46                                      
bitnami/nginx-ingress-controller                  Bitnami Docker Image for NGINX Ingress Contr…   17                                      [OK]
rancher/nginx-ingress-controller                                                                  10                                      
ibmcom/nginx-ingress-controller                   Docker Image for IBM Cloud Private-CE (Commu…   4                                       
bitnami/nginx-ldap-auth-daemon                                                                    3                                       
vmware/nginx                                                                                      2                                       
bitnami/nginx-exporter                                                                            2                                       
rancher/nginx-ingress-controller-defaultbackend                                                   2                                       
circleci/nginx                                    This image is for internal use                  2                                       
vmware/nginx-photon                                                                               1                                       
bitnami/nginx-intel                                                                               1                                       
rancher/nginx                                                                                     1                                       
wallarm/nginx-ingress-controller                  Kubernetes Ingress Controller with Wallarm e…   1                                       
rancher/nginx-conf                                                                                0                                       
rancher/nginx-ssl                                                                                 0                                       
rancher/nginx-ingress-controller-amd64                                                            0                                       
continuumio/nginx-ingress-ws                                                                      0                                       
ibmcom/nginx-ppc64le                              Docker image for nginx-ppc64le                  0                                       
ibmcom/nginx-ingress-controller-ppc64le           Docker Image for IBM Cloud Private-CE (Commu…   0                                       
kasmweb/nginx                                     An Nginx image based off nginx:alpine and in…   0                                       
rancher/nginx-proxy                                                                               0                                       
wallarm/nginx-ingress-controller-amd64            Kubernetes Ingress Controller with Wallarm e…   0                                       
ibmcom/nginx-ingress-controller-amd64                                                             0

2、下载Nginx镜像

[root@localhost home]# docker pull nginx

3、查看下载好的 Nginx 镜像

[root@localhost home]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
nginx               latest              605c77e624dd        4 months ago        141MB

4、后台运行Nginx

[root@localhost home]# docker run -d --name nginx01 -p 3344:80 nginx #后台运行Nginx,并指定名称为“nginx01”,将宿主机的3344端口映射到Nginx容器的80端口,可以通过 “宿主机ip地址:3344” 访问到Nginx(Nginx默认端口为80)
1527d7f9357a63da0a3a3f61968169cbbcfc10686247c269d786c0d7636631a8 # 显示容器id,说明启动成功

5、查看 Nginx 镜像运行实例(容器)

[root@localhost home]# docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                  NAMES
1527d7f9357a        nginx               "/docker-entrypoint.…"   4 minutes ago       Up 4 minutes        0.0.0.0:3344->80/tcp   nginx01 # 显示该条信息,说明Nginx镜像容器正在运行

6、本地测试访问 Nginx

[root@localhost home]# curl localhost:3344
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>
html { color-scheme: light dark; }
body { width: 35em; margin: 0 auto;
font-family: Tahoma, Verdana, Arial, sans-serif; }
</style>
</head>
<body>
<h1>Welcome to nginx!</h1>
<p>If you see this page, the nginx web server is successfully installed and
working. Further configuration is required.</p>


<p>For online documentation and support please refer to
<a href="http://nginx.org/">nginx.org</a>.<br/>
Commercial support is available at
<a href="http://nginx.com/">nginx.com</a>.</p>


<p><em>Thank you for using nginx.</em></p>
</body>
</html>
Nginx是用于HTTP,HTTPS,SMTP,POP3和IMAP协议的开源反向代理服务器,以及负载平衡器,HTTP缓存和Web服务器(原始服务器)。Nginx项目一开始就非常关注高并发,高性能和低内存使用。它获得了两节式BSD许可,并在Linux,BSD变体,Mac OS X,Solaris,AIX,HP-UX以及其他* nix版本上运行。它还具有用于Microsoft Windows的概念证明端口。 托管一些简单的静态内容 $ docker run --name some-nginx -v /some/content:/usr/share/nginx/html:ro -d nginx 或者,Dockerfile可以使用简单的方法来生成包含必要内容的新图像(这比上面的绑定安装要干净得多): FROM nginx COPY static-html-directory /usr/share/nginx/html 将此文件放置在与目录相同的目录中(“ static-html-directory”),运行docker build -t some-content-nginx .,然后启动容器: $ docker run --name some-nginx -d some-content-nginx 暴露外部端口 $ docker run --name some-nginx -d -p 8080:80 some-content-nginx 然后,您可以在浏览器中点击http://localhost:8080或http://host-ip:8080。 复杂的配置 $ docker run --name my-custom-nginx-container -v /host/path/nginx.conf:/etc/nginx/nginx.conf:ro -d nginx 有关nginx配置文件的语法的信息,请参阅官方文档(特别是《入门指南》)。 如果您希望采用默认配置,请使用以下类似内容从运行的nginx容器中复制它: $ docker run --name tmp-nginx-container -d nginx $ docker cp tmp-nginx-container:/etc/nginx/nginx.conf /host/path/nginx.conf $ docker rm -f tmp-nginx-container 也可以使用简单的Dockerfile(在中/host/path/)更干净地完成此操作: FROM nginx COPY nginx.conf /etc/nginx/nginx.conf 如果您CMD在Dockerfile中添加了自定义,请确保将包含-g daemon off;在其中CMD,以使nginx保持在前台,以便Docker可以正确跟踪进程(否则您的容器将在启动后立即停止)! 然后使用构建图像docker build -t custom-nginx .并按如下所示运行它: $ docker run --name my-custom-nginx-container -d custom-nginxNginx配置中使用环境变量 现成的nginx不支持大多数配置块中的环境变量。但是,envsubst如果您需要在nginx启动之前动态生成nginx配置,则可以将其用作解决方法。 这是使用docker-compose.yml的示例: web: image: nginx volumes: - ./mysite.template:/etc/nginx/conf.d/mysite.template ports: - "8080:80" environment: - NGINX_HOST=foobar.com - NGINX_PORT=80 command: /bin/bash -c "envsubst /etc/nginx/conf.d/default.conf && exec nginx -g 'daemon off;'" mysite.template然后,该文件可能包含如下变量引用: listen ${NGINX_PORT}; 在只读模式下运行Nginx 要以只读模式运行nginx,您需要将Docker卷安装到nginx写入信息的每个位置。默认的nginx配置需要对/var/cache和的写权限/var/run。可以通过如下运行nginx轻松地完成此操作: $ d
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

遥夜人间

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值