百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

docker部署服务之docker部署nginx服务

off999 2025-04-05 21:22 26 浏览 0 评论

我的一点点docker部署服务习惯,就是喜欢使用官方的镜像,如果没有官方的镜像或者官方的镜像不好用,我会找第三方使用量比较多的镜像。这个习惯是基于安全的考虑,毕竟官方做得稍微安全点,有漏洞也更新最快。

一、nginx的image准备

1、docker search 搜索nginx

2、https://hub.docker.com镜像站搜索nginx

二、nginx官方部署nginx方法

1、docker 启动一个简单的nginx 实例

docker run  \
--name some-nginx \
-v /data/nginx/html:/usr/share/nginx/html:ro \
-d \
nginx

docker run是启动一个docker 容器的命令。完整书写方法应该是docker container run。

--name some-nginx 给nginx容器起个名字,为some-nginx。

-v /data/nginx/html:/usr/share/nginx/html:rov是volume的首字母,是卷的意思。就是把容器的目录绑到宿主机上的目录,好方便我们查看文件,修改文件。现在这个/data/nginx/html是宿主机上存放web文件的目录,/usr/share/nginx/html是nginx容器里的目录,ro是容器内不能修改,会提示read-only。

-d d是detach的首字母,可以理解为后台运行这个nginx容器。

nginx指的nginx的镜像名。tag是给一个版本nginx打个标签,如果不加:tag默认为nginx:latest。nginx最新镜像。

官方还有一个加载静态文件的方法,就是以nginx官方镜像为基础镜像,把静态文件目录复制 到新的镜像里,这样就不用绑定nginx需要内容目录。这个方法应该不常用。除了你特别需求,不建议使用。

2、docker 启动一个暴露外网端口nginx 实例

#官方nginx镜像暴露端口是80

#启动一个绑定外网端口是8080的nginx容器

docker run \
--name some-nginx \
-v /data/nginx/html:/usr/share/nginx/html:ro \
-p 8080:80 \
-d \
nginx

如果宿主机的ip是192.168.1.10,向nginx发起请求地址是http://192.168.1.10:8080

3.docker 启动一个暴露外网端口和nginx配置文件路径的nginx 实例

假设宿主机的nginx配置文件存放目录/data/nginx/nginxconf,如果手头没有nginx配置文件,可以把容器的nginx配置文件复制到/data/nginx/nginxconf,不过先要启动一下没有绑配置的nginx容器,复制配置文件,删除这个nginx容器,最后就可以启动绑定nginx配置文件路径的nginx 实例。整个操作步骤如下:

第一步启动一个不绑定nginx配置文件的容器

docker run \
--name some-nginx \
-v /data/nginx/html:/usr/share/nginx/html:ro \
-p 8080:80 \
-d \
nginx

第二步复制some-nginx里nginx配置文件到宿主机的/data/nginxconf下

docker cp nginx:/etc/nginx  /data/nginx/nginxconf
mv /data/nginx/nginxconf/nginx/*  /data/nginx/nginxconf/
rm -rf /data/nginx/nginxconf/nginx

第三步删除nginx容器

docker rm -f some-nginx

第四步启动绑定nginx配置文件的nginx容器

docker run \
--name some-nginx \
-v /data/nginx/html:/usr/share/nginx/html:ro \
-v /data/nginx/nginxconf:/etc/nginx:ro \
-p 8080:80 \
-d \
nginx

-v /data/nginx/nginxconf:/etc/nginx:ro/data/nginxconf宿主机上存储nginx的配置文件路径。/etc/nginx是容器里nginx配置文件路径。

三、nginx容器里运行nginx用户

上图是截至nginx官方说明,意思如下:

从1.17.0开始,基于alpine和debian的镜像变体都使用相同的用户和组id来删除工作进程的特权(容器nginx运行用户是nginx ,uid和gid都是101)

id nginx
uid=101(nginx) gid=101(nginx) groups=101(nginx)

可以将映像作为特权较低的任意UID/GID运行。然而,这需要修改nginx配置,以使用特定UID/GID对可写的目录。可以不用nginx用户运行nginx,我觉得没有必要修改运行用户。

四、docker-compose启动nginx服务

#nginx的docker-compose.yml文件,存放在/data/nginx/下

version: '3.7'
services:
  nginx:
    image: nginx
    restart: always
    hostname: nginx
    container_name: nginx
    privileged: true
    ports:
      - 8080:80
    volumes:
      - /data/nginx/nginxconf:/etc/nginx
      - /data/nginx/html:/usr/share/nginx/html
      - /data/nginx/logs/:/var/log/nginx/


/data/nginx/logs/:/var/log/nginx/ 加了一个日志映射到宿主机目录。好查看日志文件。

#docker-compose启动nginx

docker-compose -f  /data/nginx/docker-compose.yml up -d

相关推荐

win10系统安全模式怎么进入(win10安全模式如何进入)
  • win10系统安全模式怎么进入(win10安全模式如何进入)
  • win10系统安全模式怎么进入(win10安全模式如何进入)
  • win10系统安全模式怎么进入(win10安全模式如何进入)
  • win10系统安全模式怎么进入(win10安全模式如何进入)
win7sp1专业版(win7专业版vl)

Win7系统SP1是系统发布后第一个SP包x64是64位操作系统。Windows7指的是微软公司的Windows7操作系统ultimate指的是旗舰版(with表示伴随,说明这是提供商所提供...

手写输入法手写板怎么设置(手写输入法手写板怎么设置 iphone)

手写输入法设置方法:1、打开手机至桌面主页,保持手机处于工作状态;  2、在手机桌面主页列表找到设置,点击打开并进入设置主界面;  3、在设置主界面找到系统设置选项,点击打开并进入系统设置主界面;  ...

推荐杀毒软件(下载杀毒软件最新版)
推荐杀毒软件(下载杀毒软件最新版)

好的杀毒软件有360杀毒,金山毒霸,AVG杀毒等等。1,360杀毒,品牌介绍:360安全卫士品牌是一款由奇虎360公司推出的功能强、效果好、受用户欢迎的安全杀毒软件。360安全卫士拥有查杀木马、清理插件、修复漏洞、电脑体检、电脑救援、保护隐...

2025-11-12 08:51 off999

百度云盘官网(百度云盘官网下载)

网盘在手机上面仅仅是一个图标,他是不占用手机硬盘的,当然,如果你从网盘上下载了文件到本地,下载的文件就会占用手机的硬盘空间。要找到这个文件,可以通过文件管理器来进行查找,也可以通过路径的方式来查找,但...

路由器设置管理系统(路由器设置管理员密码怎么设置)
路由器设置管理系统(路由器设置管理员密码怎么设置)

电脑端:把华为路由器接通电源,并开启WIFI,如果你使用电脑PC端,请使用网线连接路由器;成功连接到路由器之后,打开电脑浏览器,在浏览器中输入IP地址:192.168.3.1即可进入华为路由器管理界面;进入我要上网页面。在上网方式下拉框中,...

2025-11-12 07:51 off999

win10家庭版密钥在哪里看(windows10家庭版密钥在哪里)

要查看Windows10系统的激活密钥,请按照以下步骤操作: 1.点击“开始”菜单,然后选择“设置”(齿轮图标)。 2.在“设置”窗口中,选择“更新和安全”。 ...

两个wifi路由器怎么连接(两个wifi路由器设置方法)

无线路由器再连接一个无线路由器的设置方法如下:一、主路由器设置方法:先将网线(总线)插在无线路由器的WAN口,用一条网线一头插入无线路由器的任意LAN口一头连接电脑网卡,开启路由器的电源。电脑打开浏览...

windows7的安装过程(windows7安装步骤有哪些)

安装教程注意事项:1、本系统可以直接安装,不需要制作U盘启动盘,适合能正常开机的电脑。2、安装系统后C盘(包括桌面)数据会丢失,重要的东西请自行备份。3、此安装方法只适用于当前系统为XP、Win7、W...

惠普打印机插件手机版(惠普打印插件app)

您好,感谢您选择惠普产品。不是所有的打印机都可以实现手机打印功能的。一般来说支持ariprint的打印机,并且手机也有该功能,才能实现打印功能。如果您不需要实现打印功能,那么这个插件对您来说可能用处不...

电脑热点怎么禁止别人连接(怎么让电脑的热点不被关闭)

方法/步骤1/7首先,在我们的屏幕上找到“设置”。2/7点击进入设置之后,正数第三位就是个人热点。3/7在个人热点中,我们可以设置热点密码,开启关闭热点。4/7排名第三的是连接管理,可以设置允许一个至...

常用浏览器有哪些

电脑常用浏览器好用的方法步骤1从用户体验和功能扩展性来看,Chrome是最好用的浏览器。2Chrome拥有快速的页面加载速度、优秀的标签页管理和内置的开发者工具等功能,还有不断更新的扩展程序,能够...

u盘怎么取消读写保护(优盘怎么去掉读写保护)

如果您的U盘启动了读写保护,那么就无法进行数据的读取和写入操作。以下是一些可能的解决方法:1.检查开关或按钮:一些U盘有物理开关或按钮,用于启用或禁用读写保护。您可以检查一下U盘上是否有这样的开关或...

打印机脱机无法打印怎么办(打印机脱机无法打印故障处理)
打印机脱机无法打印怎么办(打印机脱机无法打印故障处理)

打印机脱机无法打印怎么办?在使用打印机的过程中,经常会遇到打印机无法打印的问题,如果你的打印机已经正常使用了一段时间,而是现在打印机无法打印了,那么很可能是你的打印机脱机了。我们该怎么办呢?首先我们拿到打印机,要把它的电源线,USB打印线与...

2025-11-12 03:51 off999

台式电脑可以连接wifi吗(台式电脑没有连接wifi选项怎么办)
  • 台式电脑可以连接wifi吗(台式电脑没有连接wifi选项怎么办)
  • 台式电脑可以连接wifi吗(台式电脑没有连接wifi选项怎么办)
  • 台式电脑可以连接wifi吗(台式电脑没有连接wifi选项怎么办)
  • 台式电脑可以连接wifi吗(台式电脑没有连接wifi选项怎么办)

取消回复欢迎 发表评论: