Docker安装Nginx

article/2025/8/22 7:54:17

1.下载镜像

https://hub.docker.com/_/nginx?tab=tags

这里选择官方镜像1.22.0版本

docker pull nginx:1.22.0

下载完成后检查镜像

2.创建挂载目录

用于存放默认页面、日志、配置文件,把这些文件挂载到宿主机上好处是:在需要频繁修改Nginx配置的场景中,不需要关注容器中的数据,直接删除重建容器就好。

如果已经提前把对应nginx版本需要挂载的文件打包好了,这里直接解压放在对应的路径即可,不需要执行下面从容器复制文件的步骤。

#解压目录

cd ~

tar -zxvf docker-nginx.tar.gz

没有这些文件的话,就创建目录,从容器中复制过来。

#创建目录
mkdir /home/用户/docker-nginx

3.从容器中复制要挂载的文件

先简单创建容器运行,从容器里面复制要挂载的文件到宿主机上。

# 创建并运行容器,容器命名为nginx
docker run --name nginx -p 80:80 -d nginx:1.22.0

#从容器nginx中复制nginx.conf文件到宿主机

docker cp nginx:/etc/nginx/nginx.conf /home/用户/docker-nginx/

docker cp nginx:/etc/nginx/conf.d/ /home/用户/docker-nginx/conf/

docker cp nginx:/usr/share/nginx/html/ /home/用户/docker-nginx/html/

docker cp nginx:/var/log/nginx/ /home/用户/docker-nginx/logs/

复制出的docker-nginx目录结构如下图:

打包目录

cd ~

tar -czvf docker-nginx.tar.gz docker-nginx/*

#停止、删除容器

docker stop nginx

docker rm nginx

4.创建并运行容器

docker run -p 80:80 \
-v /home/用户/docker-nginx/nginx.conf:/etc/nginx/nginx.conf \
-v /home/用户/docker-nginx/logs:/var/log/nginx \
-v /home/用户/docker-nginx/html:/usr/share/nginx/html \
-v /home/用户/docker-nginx/conf:/etc/nginx/conf.d \
-v /etc/localtime:/etc/localtime \
--name nginx \
--restart=always \
-d nginx:1.22.0

参数说明:
-p 映射端口,格式为“宿主机端口:容器端口”
-v 挂载文件

-e TZ=Asia/Shanghai  设置时区

--privileged=true 让容器中的root用户拥有真正的root权限

--name  容器名字,以后可以使用这个名字启动或者停止容器

--restart=always docker启动时自动启动容器
-d 指定要启动的镜像名

如下图,执行后返回容器id没有报Error,查看容器列表,nginx容器状态正常,则安装成功。

浏览器访问http://ip:80,可以看到nginx页面

如果安装失败,查看容器列表是否已有nginx容器,有的话需要删除容器后再重新创建。

修改Nginx配置

在宿主机上修改html目录下的文件是即时生效的。

在宿主机上修改nginx.conf和conf目录下的配置文件后,需要重启容器重新加载配置。

注意:修改配置文件时,文件中的路径要使用容器中的路径。

新增/删除映射端口

最简单的方法就是停止、删除当前的容器,修改docker run命令中参数-p对应的端口映射值后再重新创建容器。

容器跨主机访问

Nginx用于负载均衡时,需要访问宿主机以外的其它主机,最简单的做法是使用host模式创建容器,这时候容器将会共用使用宿主机的IP和端口这种方式性能高,但无法自定义容器的网络配置和管理。

#改造之前的docker run,添加--net=host,去掉-p。
docker run \
-v /home/用户/docker-nginx/nginx.conf:/etc/nginx/nginx.conf \
-v /home/用户/docker-nginx/logs:/var/log/nginx \
-v /home/用户/docker-nginx/html:/usr/share/nginx/html \
-v /home/用户/docker-nginx/conf:/etc/nginx/conf.d \
-v /etc/localtime:/etc/localtime \
--net=host \
--name nginx \
--restart=always \
-d nginx:1.22.0

http://chatgpt.dhexx.cn/article/to9pZ2fE.shtml

相关文章

ubuntu安装nginx

目录 ubuntu安装nginx一、apt-get安装nginx二、下载nginx包安装 在操作过程中有任何疑问,请留言,或者加群:高级java学习交流群(821605718)。 ubuntu安装nginx 目前支持两种安装方式,一种是apt-get的方式&a…

CentOs7安装nginx【详细】

CentOs7安装nginx 卸载nginx 先查看是否启动了 nginx 服务 ps -ef|grep nginx出现这个则 nginx 没启动服务 出现这个则 nginx 启动了服务 如果 nginx 启动了服务,则需要先关闭 nginx 服务 【没启动就略过这一步】 kill 进程id查看所有与 nginx 有关的文件夹 fin…

yum方式安装nginx

1、添加CentOS 7 Nginx yum资源库 [rootlocalhost ~]# rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm 2、安装nginx [rootlocalhost ~]# yum -y install nginx //安装nginx 3、启动nginx [rootlocalhost ~]# …

CentOS安装Nginx

一:安装依赖 yum -y install gcc gcc-c make libtool zlib zlib-devel openssl openssl-devel pcre pcre-devel 二:下载Nginx版本 1.官网直接下载.tar.gz安装包,地址:nginx: download 2.使用wget命令下载 wget -c https://ng…

Linux离线安装nginx详细教程

文章目录 一、什么是离线安装?二、安装步骤1.安装nginx所需依赖1.1 安装gcc和gcc-c1.1.1 下载依赖包1.1.2 上传依赖包1.1.3 安装依赖1.1.4 验证安装 1.2 安装pcre1.2.1 下载pcre1.2.2 上传解压安装包1.2.3 编译安装 1.3 下载安装zlib1. 3.1 下载zlib1.3.2 上传解压安…

Linux安装nginx详细步骤

Linux安装nginx详细步骤 一、安装nginx依赖二、下载并解压nginx安装包1.下载nginx安装包2.解压nginx安装包 三、安装nginx四、启动nginx五、停止重启nginx六、设置开机自启动nginx七、补充1.配置nginx.conf2.防火墙设置 一、安装nginx依赖 #安装gcc yum install gcc-c#安装PCR…

Windows下安装Nginx(详解)

文章目录 一、背景二、安装Nginx1、去到Nginx官网:[http://nginx.org/](http://nginx.org/) ,然后点击“[download](http://nginx.org/en/download.html)”在这里插入图片描述 三、Nginx的使用1、解压Nginx压缩包。2、在nginx的配置文件是conf目录下的ng…

Nginx安装教程(亲测)

1.nginx安装教程(亲测) 1.安装环境 yum install gcc openssl openssl-devel pcre pcre-devel zlib zlib-devel -y 2.上传nginx安装包 在home下创建一个包去放下载的压缩包 mkdir soft 3.解压 tar -zxvf nginx-1.16.1.tar.gz 4.进入目录 cd nginx-1.16.1 5.在nginx主目录ng…

nginx安装的详细教程(包括命令行安装和编译安装)

Nginx 是一个很强大的高性能Web和反向代理服务。是一款自由的、开源的、高性能的HTTP服务器和反向代理服务器;同时也是一个IMAP、POP3、SMTP代理服务器;Nginx可以作为一个HTTP服务器进行网站的发布处理,另外Nginx可以作为反向代理进行负载均衡…

Nginx篇-Nginx详细安装教程

Nginx安装教程-基于Linux系统 一、Nginx是什么?1.1正向代理及反向代理 二、Nginx下载及安装2.1官网下载2.2Nginx安装 三、Nginx的启动及测试3.1启动Nginx3.2测试连接 四、设置Nginx开机自启4.1编写开机启动文件4.2设置开机启动 总结 一、Nginx是什么? N…

Linux安装Nginx(超详细步骤)

1,进入官网下载Nginx资源: 官网下载:http://nginx.org/en/download.html 2,资源下载(因为是在Linux安装,所以我下载Linux安装的资源包,版本你们随意) 3,资源下载好之后&#xff0…

nginx 安装教程(详解)

环境准备 虚拟机一台: centos8 IP:172.16.183.18 关闭防火墙(为了测试) systemctl status firewalld.service(查看防火墙状态) systemctl stop firewalld.service (关闭防火墙) systemctl…

iphone尺寸大全对照表2021 iphone屏幕尺寸大全

iPhone 11 6.1英寸 iPhone 11 Pro 5.8英寸 iphone手机爆降价1500这活动太给力了 机会不容错过http://iphone.adiannao.cn/2 iPhone 11 Pro Max 6.5英寸 iPhone SE 2020款 4.7英寸 iPhone 12 mini 5.4英寸 iPhone 12 6.1英寸 iPhone 12 Pro 6.1英寸 iPhone 12 Pro Max 6.7…

html 苹果6尺寸,iPhone6界面设计尺寸规范大全【含原型设计规范】

目前,很多APP设计师的APP Ui设计稿是先做iPhone6的,方便向上适配iPhone6Plus,也方便向下适配iPhone5和iPhone4的尺寸。这一节课也算是25学堂为大家精心整理的iPhone6界面设计尺寸规范大全。 当然下面的10个方面的不仅是iPhone6界面视觉设计尺…

video兼容苹果手机

苹果手机播放视频 最近在开发小程序的时候&#xff0c;遇到了一个手机兼容的问题&#xff0c;安卓手机放大视频是自适应的&#xff0c;但苹果手机却乱了&#xff0c;经过百度经验&#xff0c;下面我为大家带来了解决这个问题的方案&#xff1a; <video :src"videourl…

苹果手机怎么修改dns服务器,苹果手机怎么设置DNS iPhone8更改DNS详细图文教程

iPhone8怎么设置DNS呢&#xff1f;有的时候我们会发现iPhone上网速度非常慢&#xff0c;尤其是打开网页简直让人无法接受。对于这种情况可能存在的就是DNS设置不当导致的&#xff0c;那么这个时候我们可以手动设置iPhone8的DNS&#xff0c;从而改善网络连接问题。另外&#xff…

苹果手机更改照片大小kb,苹果手机怎么把图片缩小 怎么用手机把图片缩小

关于如何使用手机把图片缩小到自己需要的大小体积?这是一个比较有含量的技术活了&#xff0c;在不借助任何软件的辅助下&#xff0c;苹果手机就可以做到这一点&#xff0c;具体的操作方法请和小编一起来看看吧。 苹果手机怎么把图片缩小 怎么用手机把图片缩小 首先打开苹果手机…