Docker上如何部署Nginx
1.从 docker 下载 Nginx 镜像
docker pull nginx
2.创建挂载目录
之后的文件就放这里面,对 docker 里 Nginx 对应的目录进行映射,就不用改文件进到容器里了
mkdir -p /data/nginx/{conf,conf.d,html,logs}
3.为了保证文件的正确性,建议先进入容器把对应的文件给复制出来
不方便的可以开两个窗口,一个进到容器里,左边复制到右边这样,这是为了保证文件正确
#启动容器 docker run -itd nginx /bin/bash #进入容器 docker attach xxxxxxxxxx
说明 | 文件 | 挂载路径 | nginx路径 |
配置文件 | nginx.conf | /data/nginx/conf/nginx.conf | /etc/nginx/nginx.conf |
配置文件文件夹 | conf.d文件夹 | /data/nginx/conf.d | /etc/nginx/conf.d |
首页文件夹html路径 | html文件夹 | /data/nginx/html | /usr/share/nginx/html |
日志文件 | log文件夹 | /data/nginx/logs | /var/log/nginx |
这是对应的挂载目录,把 nginx.conf 文件和 conf.d 里的 default.conf 复制到对应文件夹放好,后面就是修改了
4.接下来修改下 default.conf 文件就好了
这里我最多就改改端口号,访问路径之类的
server { #端口号 listen 80; #定义使用 localhost 访问 server_name localhost; #charset koi8-r; #access_log /var/log/nginx/host.access.log main; location / { #根目录位置 root /usr/share/nginx/html; #index 文件位置 index 1.html; } #error_page 404 /404.html; # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } # proxy the PHP scripts to Apache listening on 127.0.0.1:80 # #location ~ \.php$ { # proxy_pass http://127.0.0.1; #} # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 # #location ~ \.php$ { # root html; # fastcgi_pass 127.0.0.1:9000; # fastcgi_index index.php; # fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; # include fastcgi_params; #} # deny access to .htaccess files, if Apache's document root # concurs with nginx's one # #location ~ /\.ht { # deny all; #} }
这里测试用的 1.html 自己写的
<html> <head> <title>Mynginx</title> </head> <body> <h2> 欢迎使用nginx! </h2> </body> </html>
5.接下来就可以启动容器了
docker run --name myNginx -d -p 8089:80 -v /data/nginx/html:/usr/share/nginx/html -v /data/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /data/nginx/conf.d:/etc/nginx/conf.d -v /data/nginx/logs:/var/log/nginx nginx
挂载路径一定要对好,别写错了
-p 8089:80 这里把 80 端口映射到主机的 8089 端口,这样访问就是 8089 端口了,不用去改 nginx 的默认端口
接下来就可以看下容器是否正常启动
docker ps
要是没有看到容器那说明启动有问题,看看是配置文件写的不对,还是挂载路径不对之类的
启动后就可以直接浏览器 localhost:8089 看到刚才写的 1.index 页面了
6.不停止 nginx 更新配置文件
当我们修改配置文件后要更新配置文件,这个时候开两窗口就很爽
#进入容器 docker exec -it xxxxxxxxxxx /bin/bash #测试配置文件是否有问题 nginx -t #要是显示 successful 就可以更新了 nginx -s reload
以上是Docker上如何部署Nginx的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

Docker 中导入镜像涉及从远程仓库获取预构建的容器映像,并将其导入本地仓库。步骤包括:拉取镜像(docker pull)列出已拉取镜像(docker images)导入镜像到本地仓库(docker import)

Docker 镜像托管平台用于管理和存储 Docker 镜像,方便开发者和用户访问和使用预构建的软件环境。常见的平台包括:Docker Hub:由 Docker 官方维护,拥有庞大的镜像库。GitHub Container Registry:集成了 GitHub 生态系统。Google Container Registry:由 Google Cloud Platform 托管。Amazon Elastic Container Registry:由 AWS 托管。Quay.io:由 Red Hat

Docker 拉取镜像时可自定义设置,包括:指定镜像版本、镜像仓库、限速拉取、身份验证和拉取无标签镜像。这些设置可通过 docker pull 命令及其选项实现,包括 --registry、--limit-rate、--auth 和 -a。

要停止 Docker 网络连接,请按照以下步骤操作:1. 确定要停止的网络名称;2. 使用 docker network stop 命令停止网络;3. 检查停止状态,以验证网络已停止。

当 Docker 仓库挂掉时,您可以采取以下措施:检查网络连接和重启 Docker 服务;使用本地镜像或尝试替代仓库;创建自己的仓库或联系仓库提供商。

退出 Docker 容器的方法:运行 docker stop <容器名称或 ID> 命令向 Docker 守护进程发送停止请求。守护进程向容器发送 SIGTERM 信号以可控退出,如果 10 秒内未退出,则发送 SIGKILL 信号强制退出。

通过使用 Docker,您可以将应用程序打包为可移植的映像,以在不同环境中快速部署。首先创建包含应用程序及其依赖项的 Docker 镜像,然后运行 Docker 容器。要部署应用程序,请公开容器的端口。此外,建议使用版本控制、持续集成和监控工具来增强您的 Docker 部署。

要更换 Docker 镜像源,请编辑 Docker 配置文件并添加 "registry-mirrors" 项,指定要使用的镜像源 URL。保存配置文件并重新启动 Docker 服务。通过检查 Docker 信息或拉取镜像,可以验证镜像源是否已更新。
