MacOS使用docker安装nginx

news2024/11/19 17:19:54

文章目录

  • 一、docker安装nginx
    • 1、查看可用的nginx
    • 2、安装Nginx镜像
    • 3、查看是否安装成功
    • 4、安装成功后执行nginx
    • 5、查看容器
    • 6、本地验证
  • 二、创建本地挂载文件
    • 1、第一步:宿主机创建目录
    • 2、第二步:将docker安装的nginx里面文件复制到宿主机
    • 3、第三步:运行镜像
    • 4、执行命令查看挂载情况

一、docker安装nginx

Docker是一个跨平台的轻量级虚拟机,可移植性非常高,一次部署,终生可用。Docker可以在Linux,Windows,MacOS等平台上安装使用。我们都知道Linux有很多不同 的版本,例如Ubuntu,AIX,CentOS,Debian,Fedora,Oracle Linux,Red Hat Enterprise Linux,openSUSE and SUSE Linux Enterprise等。尽管Linux的版本很多,但是我们的Docker都可以在他们在面运行。

1、查看可用的nginx

首先查看可用的nginx:

docker search nginx

在这里插入图片描述

2、安装Nginx镜像

$docker pull nginx

在这里插入图片描述

一般默认都是latest

3、查看是否安装成功

执行命令查看是否安装成功:

docker images

4、安装成功后执行nginx

docker run --name myNginx -p 8080:80 -d nginx

参数说明:
-name nginx-test:容器名称。
-p 8080:80: 端口进行映射,将本地 8080 端口映射到容器内部的 80 端口。
-d nginx: 设置容器在在后台一直运行。

5、查看容器

docker ps -a ### 所有容器,包括未运行

6、本地验证

在这里插入图片描述
上面我们通过将本地8080端口映射到docker容器的80端口上实现了nginx的访问。一般为了方便修改和配置,我们将配置文件挂载到本地磁盘上。

二、创建本地挂载文件

一般情况下docker启动时进行配置,只要把配置文件的目录挂载出来就可以,但是nginx却是先加载一个主配置文件nginx.conf,在nginx.conf里再加载conf.d目录下的子配置文件(一般最少一个default.conf文件)。

docker拉取下来的nginx配置文件路径一般情况下是:
日志文件位置:/var/log/nginx
配置文件位置: /etc/nginx
资源存放的位置: /usr/share/nginx/html

所以本地创建对应的目录,并将目录挂在到docker容器的nginx上。


1、第一步:宿主机创建目录

mkdir -p  /Users/moon/Documents/docker/nginx/log
mkdir -p  /Users/moon/Documents/docker/nginx/html
mkdir -p  /Users/moon/Documents/docker/nginx/conf
mkdir -p  /Users/moon/Documents/docker/nginx/conf.d(注意:这是文件夹)

mkdir -p 递归创建目录

2、第二步:将docker安装的nginx里面文件复制到宿主机

docker cp myNginx:/etc/nginx/nginx.conf /Users/moon/Documents/nginx/conf/nginx.conf
docker cp myNginx:/etc/nginx/conf.d/default.conf /Users/moon/Documents/docker/nginx/conf/conf.d/default.conf

3、第三步:运行镜像

docker run --name myNginx -p 8080:80 -v /Users/moon/Documents/nginx/config/nginx.conf:/etc/nginx/nginx.conf -v /Users/moon/Documents/nginx/config/conf.d:/etc/nginx/conf.d -v /Users/moon/Documents/nginx/logs:/var/log/nginx -v /Users/moon/Documents/docker/nginx/html:/usr/share/nginx/html -d nginx

参数说明:

  1. 第一个“-v”,是nginx日志位置,把ngixn日志放到挂载到的目录下
  2. 第二个“-v”,是项目位置,把项目放到挂载到的目录下即可
  3. 第三个“-v”,是挂载的主配置文件"nginx.conf",注意"nginx.conf"文件内有一行 “include /etc/nginx/conf.d/*.conf;” , 这个include指向了子配置文件的路径,此处注意include后所跟的路径一定不能出错
  4. 第四个“-v”,把docker内子配置文件的路径也挂载了出来,注意要与 “2.” 中include指向路径一致
  5. nginx.conf是挂载了一个文件(docker是不推荐这样用的),conf.d挂载的是一个目录

4、执行命令查看挂载情况

docker inspect myNginx | grep Mounts -A 200

到这里为止我们就可以随意的修改我们的nginx了,在本地的html文件夹和conf.d中任意增加代码和配置,在docker容器中重新启动nginx就可以了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/633231.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

安洵杯2023wp - ukfc战队

喜提牛马第23名,不过对于我来说尽力了。 主方向逆向、密码学都极限输出了、但是第二道同模的题差一个点没想通,没得写很难受。 补题:NULL Web CarelessPy 目录 Web CarelessPy Confronting robot Reverse ez_cpp babythread 3D_m…

深入学习 Mysql 引擎 InnoDB、MyISAM

tip:作为程序员一定学习编程之道,一定要对代码的编写有追求,不能实现就完事了。我们应该让自己写的代码更加优雅,即使这会费时费力。 💕💕 推荐:体系化学习Java(Java面试专题&#…

【数据结构与算法】 01 链表 (单链表、双向链表、循环链表、块状链表、头结点、链表反转与排序、约瑟夫环问题)

一、线性表1.1 概念与特点1.2 线性表的存储结构1.3 常见操作1.4 应用场景 二、链表2.1 链表简介2.2 单向链表(单链表)2.21 基本概念2.22 单链表基本操作2.23 C语言实现▶ 带头结点▶ 不带头结点 2.3 双向链表2.31 基本概念2.32 与单链表比较2.33 双向链表…

【Python】Python进阶系列教程-- urllib(十三)

文章目录 前言urllib.requesturllib.errorurllib.parseurllib.robotparser 前言 往期回顾: Python进阶系列教程-- Python3 正则表达式(一)Python进阶系列教程-- Python3 CGI编程(二)Python进阶系列教程-- Python3 My…

C++面向对象丨3. 函数提高——默认参数、占位参数和函数重载

文章目录 系列文章目录基础入门面向对象 1 函数默认参数2 函数占位参数3 函数重载 系列文章目录 基础入门 C基础入门丨1. 初识C像极了C语言C基础入门丨2. 数据类型基础C基础入门丨3. 搞明白4类运算符——运算符C基础入门丨4. 程序结构有哪几种?——程序流程结构C基…

LVS负载均衡群集--NAT模式

目录 前言 一:企业群集应用概述 1、集群的含义 2、问题 3、 解决方法 二、企业群集分类 1、根据群集所针对的目标差异,可分为三种类型 2、负载均衡群集(Load Balance Cluster) 3、 高可用群集(High Availability Cluster) 4、 高性能运算群集(Hi…

华为OD机试真题 JavaScript 实现【素数伴侣】【2023 B卷 100分】,附详细解题思路

一、题目描述 若两个正整数的和为素数,则这两个正整数称之为“素数伴侣”,如2和5、6和13,它们能应用于通信加密。现在密码学会请你设计一个程序,从已有的 N ( N 为偶数)个正整数中挑选出若干对组成“素数伴…

3 个令人惊艳的 AI 项目,开源了!

公众号关注 “GitHubDaily” 设为 “星标”,每天带你逛 GitHub! 过去一周,从外界看,AI 貌似放缓了进步速度,但只有身处其中的人才能知道,AI 一直没有停下进化的脚步。 以下是 GitHub 过去一周,诞…

一杯奶茶,成为AIGC+CV视觉的前沿弄潮儿!

击上方“机器学习与AI生成创作”,关注星标 获取有趣、好玩的前沿干货! 【AI生成创作与计算机视觉】知识星球 2022、2023年开始,基于扩散模型的AI绘画、ChatGPT系列大模型主导的AIGC狂潮已来!大模型下的科研、工业应用方向&#xf…

YOLOV3——你总能在这找到你想要的答案

目录 一:前言: 二:更快,更强 网络结构图 其他基础操作: Darknet53的由来 三:最明显的特点: 四:多scale 五: 为什么vgg越深效果反而越差了? 六&#…

MySQL数据库(一)

前言 数据库分为关系型数据库和非关系型数据库,mysql属于关系型数据库。 SQL语法不区分大小写。 目录 前言 一、数据库的基础知识 (一)服务器和客户端的定义 (二)请求和响应 (三)MySQL的基…

uc-osⅡ入门——创建工程模板

目录 任务: 概念 简介 性质 组成 1) 核心部分(OSCore.c) 2) 任务处理部分(OSTask.c) 3) 时钟部分(OSTime.c) 4) 任务同步和通信部分 5) 与CPU的接口部分 总结分析和思考 任务管理 时间管理 内存管理 通信同步 任务调度 理解 实践 任务: 了解什么是ucos 创建…

Qt6构建于打包发布

打包发布 release 单文件打包 参考文献:https://blog.csdn.net/sasafa/article/details/126538432 首先准备我们欲打包发布的项目 默认情况下运行时发布的是 debug 类型的(包含冗余调试信息,文件大),我们需要切换到 …

【利用AI让知识体系化】前端安全攻防知识点

文章目录 1. 前言1.1 前端安全攻防的意义1.2 概述前端安全攻防的范畴和流程 2. 攻击技术2.1 XSS攻击2.1.1 原理和类型2.1.2 预防和防御 2.2 CSRF攻击2.2.1 原理和类型2.2.2 预防和防御 3. 代码层次3.1 JavaScript代码安全3.1.1 客户端JavaScript安全3.1.2 服务器端JavaScript安…

从零玩转系列之微信支付安全

一、前言 halo各位大佬很久没更新了最近在搞微信支付,因商户号审核了我半个月和小程序认证也找了资料并且将商户号和小程序进行关联,至此微信支付Native支付完成.此篇文章过长我将分几个阶段的文章发布(项目源码都有,小程序和PC端) 在此之前已经更新了 微信支付开篇 二、微信支…

java SSM 宿舍管理系统myeclipse开发mysql数据库springMVC模式java编程计算机网页设计

一、源码特点 java SSM 宿舍管理系统是一套完善的web设计系统(系统采用SSM框架进行设计开发,springspringMVCmybatis),对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/…

docker部署gin项目

以如下这个简单的项目为例 创建Dockerfile文件 #指定构建镜像的基础镜像 FROM golang:1.18-alpine #开发者 MAINTAINER who # 为我们的镜像设置必要的环境变量 ENV GO111MODULEon \GOPROXYhttps://goproxy.cn,direct \CGO_ENABLED0 \GOOSlinux \GOARCHamd64#设置工作目录&…

集成运算放大器的线性应用(模电速成)

目录 1、运算电路基本认识 2、反向比例、同相比例运算电路 3、电压跟随器(同相比例的特例) 4、差分比例运算电路(减法运算电路) 5、积分、微分运算电路 1、运算电路基本认识 (集成运放工作在线性区) 两…

4.LVS负载均衡集群

文章目录 LVS负载均衡集群集群介绍集群类型LVS工作模式LVS虚拟服务器介绍LVS的NAT模式部署设置NFS服务器设置节点服务器配置负载调度器 LVS负载均衡集群 集群介绍 群集的含义 Cluster,集群、群集由多台主机构成,但对外只表现为一个整体,只提…

卷积神经网络之父的强人工智能路线图:自监督,推理,规划

导读 2023 年 6 月 9 日,智源大会第一天。在这场众星云集的盛会中。目前「深度学习三驾马车」中最活跃的 Yann LeCun 教授带来了重磅演讲「朝向能学习, 思考和计划的机器进发( Towards Machines that can Learn, Reason, and Plan&#xff09…