搜索
首页运维Nginx怎么使用docker安装nginx提供的web服务

怎么使用docker安装nginx提供的web服务

May 24, 2023 pm 11:38 PM
dockerwebnginx

一、拉取镜像

docker pull命令用于拉取应用镜像,docker pull nginx命令用于拉取最新版本的nginx镜像。下文为拉取镜像过程的响应结果:

# docker pull nginx
Using default tag: latest
latest: Pulling from library/nginx
c229119241af: Pull complete 
2215908dc0a2: Pull complete 
08c3cb2073f1: Pull complete 
18f38162c0ce: Pull complete 
10e2168f148a: Pull complete 
c4ffe9532b5f: Pull complete 
Digest: sha256:2275af0f20d71b293916f1958f8497f987b8d8fd8113df54635f2a5915002bf1
Status: Downloaded newer image for nginx:latest
docker.io/library/nginx:latest

从上文我们可以看出nginx镜像是从docker.io这个网址拉取下来的。

使用docker images命令可以查看当前操作系统中下载了哪些镜像文件。

# docker images
REPOSITORY    TAG       IMAGE ID       CREATED        SIZE
nginx         latest    12766a6745ee   33 hours ago   142MB
hello-world   latest    feb5d9fea6a5   6 months ago   13.3kB
  • REPOSITORY镜像仓库及镜像名称,如果不显示镜像仓库,默认就是docker.io

  • TAG镜像的版本或者是里程碑标签,latest表示最新版本

  • IMAGE ID 镜像的唯一标识

  • CREATED 这个镜像被创建的时间

  • SIZE表示镜像文件的大小

二、运行镜像启动容器

通过docker run命令启动一个容器,容器名称为nginx-zimug。

# docker run -d --name nginx-zimug -p  80:80  nginx
81bb1211144bc0991a789f860458548643c60b5459466c14d0604be9a4ccbfd7
  • -d表示容器在后台运行

  • --name为容器起一个名字

  • -p端口映射,格式为宿主机端口:容器端口,上文中含义是将容器中的端口80映射到宿主机的端口80,对外提供访问服务。最后一个字段为镜像名称

当浏览器通过HTTP协议访问宿主机的80端口时,可以省略端口号。得到的访问结果如下,说明我们的nginx服务已经启动成功了。

怎么使用docker安装nginx提供的web服务

通过docker ps可以查看正在运行中的容器,如下所示:

CONTAINER ID   IMAGE     COMMAND                  CREATED          STATUS          PORTS                               NAMES
81bb1211144b   nginx     "/docker-entrypoint.…"   11 minutes ago   Up 11 minutes   0.0.0.0:80->80/tcp, :::80->80/tcp   nginx-zimug

三、文件映射

首先明确的是容器中的文件内容是可以被修改的,但是一旦容器重启,所有写入到容器中的,针对数据文件、配置文件的修改都将丢失。所以为了保存容器的运行状态,执行结果,我们需要将容器内的一些重要的数据文件、日志文件、配置文件映射到宿主机上。
以nginx为例,nginx有三个重要的文件目录:

  容器中路径 宿主机中自定义映射路径
存储网站网页的目录 /usr/share/nginx/html /root/nginx/html
nginx配置文件目录 /etc/nginx/nginx.conf /root/nginx/conf/nginx.conf
日志目录 /var/log/nginx /root/nginx/logs

在宿主机中新建文件目录

mkdir -p  /root/nginx/logs  /root/nginx/html  /root/nginx/conf;

将容器中的文件copy到宿主机中
将nginx配置文件copy到宿主机中

docker cp nginx-zimug:/etc/nginx/nginx.conf /root/nginx/conf;

将一个模拟的html文件放入html目录
将下面的文件保存为index.html放入宿主机的/root/nginx/html目录,因为存在映射关系,实际上也是放入了容器的/usr/share/nginx/html目录。

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>使用docker搭建nginx web服务</title>
</head>
<body>
    <h2>访问成功</h2>
    <p>厉害了!</p>
</body>
</html>

四、再次启动容器服务

-v参数表达了宿主机文件与容器中文件的映射关系,格式为-v 宿主机目录:容器文件系统目录。启动一个新的容器,容器的名字叫做nginx-prod

docker run -d -p 80:80 \
--name nginx-prod \
-v /root/nginx/html:/usr/share/nginx/html \
-v /root/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
-v /root/nginx/logs:/var/log/nginx  nginx

在启动新容器之前,将nginx-zimug旧的容器删掉。如果不删除旧的容器,新容器的端口与旧容器端口会发生冲突。使用如下命令删除容器:

docker stop nginx-zimug;
docker rm nginx-zimug;

执行上面的docker run命令,启动新的容器。启动后通过浏览器访问宿主机80端口,响应结果如下证明nginx正常提供web服务了。

怎么使用docker安装nginx提供的web服务

同时可以在宿主机上修改nginx配置,也可以查看运行时日志文件。更改配置文件会影响到运行在容器中的nginx服务,因为宿主机与容器内的配置文件之间存在映射关系。

怎么使用docker安装nginx提供的web服务

以上是怎么使用docker安装nginx提供的web服务的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文转载于:亿速云。如有侵权,请联系admin@php.cn删除
NGINX:现代Web应用程序的多功能工具NGINX:现代Web应用程序的多功能工具Apr 11, 2025 am 12:03 AM

NGINXisessentialformodernwebapplicationsduetoitsrolesasareverseproxy,loadbalancer,andwebserver,offeringhighperformanceandscalability.1)Itactsasareverseproxy,enhancingsecurityandperformancebycachingandloadbalancing.2)NGINXsupportsvariousloadbalancingm

NGINX SSL/TLS配置:使用HTTPS确保您的网站NGINX SSL/TLS配置:使用HTTPS确保您的网站Apr 10, 2025 am 09:38 AM

通过Nginx配置SSL/TLS来确保网站安全,需要以下步骤:1.创建基本配置,指定SSL证书和私钥;2.优化配置,启用HTTP/2和OCSPStapling;3.调试常见错误,如证书路径和加密套件问题;4.应用性能优化建议,如使用Let'sEncrypt和会话复用。

NGINX面试问题:ACE您的DevOps/System Admin面试NGINX面试问题:ACE您的DevOps/System Admin面试Apr 09, 2025 am 12:14 AM

Nginx是高性能的HTTP和反向代理服务器,擅长处理高并发连接。1)基本配置:监听端口并提供静态文件服务。2)高级配置:实现反向代理和负载均衡。3)调试技巧:检查错误日志和测试配置文件。4)性能优化:启用Gzip压缩和调整缓存策略。

NGINX缓存技术:改善网站性能NGINX缓存技术:改善网站性能Apr 08, 2025 am 12:18 AM

Nginx缓存可以通过以下步骤显着提升网站性能:1)定义缓存区和设置缓存路径;2)配置缓存有效期;3)根据不同内容设置不同的缓存策略;4)优化缓存存储和负载均衡;5)监控和调试缓存效果。通过这些方法,Nginx缓存能减少后端服务器压力,提升响应速度和用户体验。

带Docker的NGINX:部署和缩放容器化应用程序带Docker的NGINX:部署和缩放容器化应用程序Apr 07, 2025 am 12:08 AM

使用DockerCompose可以简化Nginx的部署和管理,通过DockerSwarm或Kubernetes进行扩展是常见的做法。1)使用DockerCompose定义和运行Nginx容器,2)通过DockerSwarm或Kubernetes实现集群管理和自动扩展。

高级NGINX配置:掌握服务器块和反向代理高级NGINX配置:掌握服务器块和反向代理Apr 06, 2025 am 12:05 AM

Nginx的高级配置可以通过服务器块和反向代理实现:1.服务器块允许在一个实例中运行多个网站,每个块独立配置。2.反向代理将请求转发到后端服务器,实现负载均衡和缓存加速。

NGINX性能调整:针对速度和低潜伏期进行优化NGINX性能调整:针对速度和低潜伏期进行优化Apr 05, 2025 am 12:08 AM

Nginx性能调优可以通过调整worker进程数、连接池大小、启用Gzip压缩和HTTP/2协议、使用缓存和负载均衡来实现。1.调整worker进程数和连接池大小:worker_processesauto;events{worker_connections1024;}。2.启用Gzip压缩和HTTP/2协议:http{gzipon;server{listen443sslhttp2;}}。3.使用缓存优化:http{proxy_cache_path/path/to/cachelevels=1:2k

NGINX安全性硬化:保护您的Web服务器免受攻击NGINX安全性硬化:保护您的Web服务器免受攻击Apr 04, 2025 am 12:06 AM

Nginx安全强化可以通过以下步骤实现:1)确保所有流量通过HTTPS传输,2)配置HTTP头增强通信安全性,3)设置SSL/TLS加密数据传输,4)实施访问控制和速率限制防范恶意流量,5)使用ngx_http_secure_link_module模块防范SQL注入攻击,这些措施能有效提升Nginx服务器的安全性。

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解锁Myrise中的所有内容
3 周前By尊渡假赌尊渡假赌尊渡假赌

热工具

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Atom编辑器mac版下载

Atom编辑器mac版下载

最流行的的开源编辑器

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

功能强大的PHP集成开发环境

EditPlus 中文破解版

EditPlus 中文破解版

体积小,语法高亮,不支持代码提示功能