Docker 部署Nginx

部署 Nginx 可以参考 Docker Hub 官方文档:https://hub.docker.com/_/nginx

下载镜像

[root@sail home]# docker pull nginx
Using default tag: latest
latest: Pulling from library/nginx
e5ae68f74026: Pull complete 
21e0df283cd6: Pull complete 
ed835de16acd: Pull complete 
881ff011f1c9: Pull complete 
77700c52c969: Pull complete 
44be98c0fab6: Pull complete 
Digest: sha256:9522864dd661dcadfd9958f9e0de192a1fdda2c162a35668ab6ac42b465f0603
Status: Downloaded newer image for nginx:latest
docker.io/library/nginx:latest

查看镜像

[root@sail home]# docker images
REPOSITORY   TAG       IMAGE ID       CREATED        SIZE
nginx        latest    f652ca386ed1   7 days ago     141MB

运行镜像

[root@sail home]# docker run -d --name=nginx01 -p 3344:80 nginx
f58fb3ed8c5587d2c28567c865759438e449f2fd65889f2910286b9cd74debec
[root@sail home]# docker ps
CONTAINER ID   IMAGE     COMMAND                  CREATED          STATUS          PORTS                  NAMES
f58fb3ed8c55   nginx     "/docker-entrypoint.…"   23 seconds ago   Up 22 seconds   0.0.0.0:3344->80/tcp   nginx01

测试验证

使用 curl 命令可以模拟网页访问,以此来测试 Nginx 启动情况。

[root@sail 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 部署成功。

查看启动的容器

[root@sail home]# docker ps
CONTAINER ID   IMAGE     COMMAND                  CREATED          STATUS          PORTS                  NAMES
f58fb3ed8c55   nginx     "/docker-entrypoint.…"   12 minutes ago   Up 12 minutes   0.0.0.0:3344->80/tcp   nginx01

查看容器中 Nginx 目录

[root@sail home]# docker exec -it nginx01 /bin/bash
root@f58fb3ed8c55:/# whereis nginx
nginx: /usr/sbin/nginx /usr/lib/nginx /etc/nginx /usr/share/nginx
root@f58fb3ed8c55:/# cd /etc/nginx
root@f58fb3ed8c55:/etc/nginx# ls
conf.d    fastcgi_params    mime.types  modules  nginx.conf  scgi_params  uwsgi_params

如此,如果需要修改 Nginx 的配置即可修改 nginx.conf 文件实现。

不过如果每次修改都要进入容器后再进行操作,是很繁琐的事,还是更推荐使用容器卷技术。

部署原理

在这里插入图片描述

### 使用Docker部署Nginx #### 下载官方镜像 为了开始使用Docker部署Nginx,首先需要拉取官方的Nginx镜像。这可以通过执行`docker pull nginx`来完成,默认情况下此命令会下载最新的稳定版本[^3]。 ```bash docker pull nginx ``` #### 启动容器并运行Nginx服务 获取到所需的镜像之后,下一步就是启动一个新的容器实例,并让其内部运行Nginx服务器。可以利用下面这条指令实现: ```bash docker run --name my-nginx -d -p 80:80 nginx ``` 上述命令创建了一个名为`my-nginx`的新容器,在后台模式下(-d参数)持续运行;同时通过-p选项指定了端口映射关系(主机上的80端口对应于容器内的80端口),使得外部能够访问到由该容器提供的Web页面[^1]。 #### 配置文件与静态资源挂载 如果想要自定义配置或是提供特定的内容,则需将本地路径下的配置文件或HTML文档等作为卷(volume)附加给正在运行中的容器。例如: ```bash docker run --name custom-nginx -v /path/to/conf:/etc/nginx/conf.d -v /path/to/html:/usr/share/nginx/html -d -p 80:80 nginx ``` 这里假设`/path/to/conf`目录包含了用户定制化的`.conf`文件,而`/path/to/html`则是放置网页素材的地方[^2]。 #### 平滑重启Nginx进程 当修改了配置文件后,可能希望不中断现有连接的前提下更新设置。对于这种情况,应该采用如下方式发送信号给Nginx使其重新加载配置而不终止任何活动请求: ```bash docker exec -it [容器ID或名称] nginx -s reload ``` 其中`[容器ID或名称]`应替换为实际的目标容器标识符。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值