安装Nginx
查找 Docker Hub 上的 nginx 镜像
> docker search nginx
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
nginx Official build of Nginx. 11704 [OK]
jwilder/nginx-proxy Automated Nginx reverse proxy for docker con… 1628 [OK]
richarvey/nginx-php-fpm Container running Nginx + PHP-FPM capable of… 726 [OK]
bitnami/nginx Bitnami nginx Docker Image 69 [OK]
linuxserver/nginx An Nginx container, brought to you by LinuxS… 69
tiangolo/nginx-rtmp Docker image with Nginx using the nginx-rtmp… 49 [OK]
nginx/nginx-ingress NGINX Ingress Controller for Kubernetes 20
nginxdemos/hello NGINX webserver that serves a simple page co… 18 [OK]
jlesage/nginx-proxy-manager Docker container for Nginx Proxy Manager 17 [OK]
schmunk42/nginx-redirect A very simple container to redirect HTTP tra… 17 [OK]
crunchgeek/nginx-pagespeed Nginx with PageSpeed + GEO IP + VTS + more_s… 13
blacklabelops/nginx Dockerized Nginx Reverse Proxy Server. 12 [OK]
centos/nginx-18-centos7 Platform for running nginx 1.8 or building n… 11
centos/nginx-112-centos7 Platform for running nginx 1.12 or building … 9
nginxinc/nginx-unprivileged Unprivileged NGINX Dockerfiles 8
webdevops/nginx Nginx container 8 [OK]
nginx/nginx-prometheus-exporter NGINX Prometheus Exporter 5
sophos/nginx-vts-exporter Simple server that scrapes Nginx vts stats a… 5 [OK]
1science/nginx Nginx Docker images that include Consul Temp… 4 [OK]
mailu/nginx Mailu nginx frontend 3 [OK]
travix/nginx NGinx reverse proxy 2 [OK]
pebbletech/nginx-proxy nginx-proxy sets up a container running ngin… 2 [OK]
centos/nginx-110-centos7 Platform for running nginx 1.10 or building … 0
wodby/nginx Generic nginx 0 [OK]
ansibleplaybookbundle/nginx-apb An APB to deploy NGINX 0 [OK]
获取镜像
> docker pull nginx
Using default tag: latest
latest: Pulling from library/nginx
fc7181108d40: Pull complete
d2e987ca2267: Pull complete
0b760b431b11: Pull complete
Digest: sha256:48cbeee0cb0a3b5e885e36222f969e0a2f41819a68e07aeb6631ca7cb356fed1
Status: Downloaded newer image for nginx:latest
查看本地镜像列表
> docker images nginx
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx latest f68d6e55e065 2 weeks ago 109MB
使用默认的配置来启动一个 Nginx 容器实例
> docker run --name nginx-test -p 8081:80 -d nginx
e4c0c43840fa23fc01234a7cc8ea4df0566d1e959275ba11606a09997e9fd402
参数说明:
--name: 容器名称 (NAMES)
-p: 端口映射,将主机的端口号8081映射到容器的80端口
-d: 容器在后台运行
e4c0c43840fa23fc01234a7cc8ea4df0566d1e959275ba11606a09997e9fd402: 生成的容器Id,日志文件中可使用
查看容器是否在允许
> docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
10cb6d7dbd25 nginx "nginx -g 'daemon of…" 16 minutes ago Up 16 minutes 0.0.0.0:8081->80/tcp nginx-test

nginx 部署
创建文件夹, 用于存放映射数据
> mkdir -p ~/nginx/www ~/nginx/logs ~/nginx/conf
功能:
www: 目录将映射为 nginx 容器配置的虚拟目录。
logs: 目录将映射为 nginx 容器的日志目录。
conf: 目录里的配置文件将映射为 nginx 容器的配置文件。
拷贝容器内 Nginx 默认配置文件到本地当前目录下的 conf 目录,容器 ID 可以查看 docker ps 命令输入中的第一列:
> docker cp 10cb6d7dbd25:/etc/nginx/nginx.conf ~/nginx/conf
部署命令
> docker run -d -p 20000:80 --name nginx-test-1 -v ~/nginx/www:/usr/share/nginx/html -v ~/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v ~/nginx/logs:/var/log/nginx nginx
参数说明:
-p: 将主机端口20000映射到容器的80端口上
--name: 容器名字
-v: ~/nginx/www:/usr/share/nginx/html:将我们自己创建的 www 目录挂载到容器的 /usr/share/nginx/html
-v: ~/nginx/conf/nginx.conf:/etc/nginx/nginx.conf:将我们自己创建的 nginx.conf 挂载到容器的 /etc/nginx/nginx.conf
-v: ~/nginx/logs:/var/log/nginx:将我们自己创建的 logs 挂载到容器的 /var/log/nginx
查看容器状态
> docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
10cb6d7dbd25 nginx "nginx -g 'daemon of…" 7 seconds ago Up 6 seconds 0.0.0.0:20000->80/tcp nginx-test-1
创建自己的页面
> cd ~/nginx/www
> vi index.html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Docker nginx</title>
</head>
<body>
<h1>Hello Docker</h1>
</body>
</html>
重新刷新页面

本文详细介绍了如何在Docker环境下安装和部署Nginx。首先从Docker Hub获取Nginx镜像,然后启动Nginx容器,并通过数据卷映射配置虚拟目录、日志目录和配置文件。接着,拷贝容器内的默认配置文件到本地并自定义配置,最后检查容器状态,创建自己的网页并实现页面刷新。
3790

被折叠的 条评论
为什么被折叠?



