mac m1笔记本docker 安装nginx

简介: mac m1笔记本docker 安装nginx

安装docker nginx

借鉴了 https://blog.csdn.net/BThinker/article/details/123507820

1.安装nginx镜像
docker pull nginx

启动前需要先创建Nginx外部挂载的配置文件,因为Nginx本身容器只存在/etc/nginx 目录 , 本身就不创建 nginx.conf 文件

当服务器和容器都不存在 nginx.conf 文件时, 执行启动命令的时候 docker会将nginx.conf 作为目录创建 , 这并不是我们想要的。

因为MAC有SIP 系统完整性保护,会导致无法再根目录创建文件夹,我这里在/User/work/nginx开始创建

如果有需要可以参考这篇文章 https://baijiahao.baidu.com/s?id=1730979204536532505&wfr=spider&for=pc


分为几个步骤

1.创建nginx的配置文件目录

2.创建一个临时用于复制目录的nginx镜像

3.复制好nginx的目录后,将临时创建的镜像删除掉

4.创建使用的nginx镜像


2.创建镜像并复制目录
#创建nginx的配置文件目录
mkdir -p /Users/work/nginx/conf
mkdir -p /Users/work/nginx/log
mkdir -p /Users/work/nginx/html
#生成容器
docker run --name nginx -p 9001:80 -d nginx
#将容器nginx.conf文件复制到宿主机
docker cp nginx:/etc/nginx/nginx.conf /Users/work/nginx/conf/nginx.conf
#将容器conf.d文件夹下内容复制到宿主机
docker cp nginx:/etc/nginx/conf.d /Users/work/nginx/conf/conf.d
#将容器中的html文件夹复制到宿主机
docker cp nginx:/usr/share/nginx/html /Users/work/nginx/
3.删除镜像
# 直接执行docker rm nginx或者以容器id方式关闭容器
# 找到nginx对应的容器id
docker ps -a
# 关闭该容器
docker stop nginx
# 删除该容器
docker rm nginx

4.创建正式的nginx
# 注意端口,右边的是里面的端口,左边的是映射到宿主机的端口,因为家宽我需要用非常规端口才可以使用业务
docker run \
-p 9002:80 \
--name nginx \
-v /Users/work/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
-v /Users/work/nginx/conf/conf.d:/etc/nginx/conf.d \
-v /Users/work/nginx/html:/usr/share/nginx/html \
-d nginx:latest
# 不知道为啥,加上这个就启动不了
#-v /Users/work/nginx/log:/var/log/nginx \
命令 描述
–name nginx 启动容器的名字
-d 后台运行
-p 9002:80 将容器的 80(后面那个) 端口映射到主机的 9002(前面那个) 端口
-v /Users/work/nginx/conf/nginx.conf:/etc/nginx/nginx.conf 挂载nginx.conf配置文件
-v /Users/work/nginx/conf/conf.d:/etc/nginx/conf.d 挂载nginx配置文件
-v /Users/work/nginx/log:/var/log/nginx 挂载nginx日志文件
-v /Users/work/nginx/html:/usr/share/nginx/html 挂载nginx内容
nginx:latest 本地运行的版本
shell 命令换行
–restart=always 重启docker 自动重启容器
# 单行版本
docker run -p 9002:80 --name nginx -v /Users/work/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /Users/work/nginx/conf/conf.d:/etc/nginx/conf.d -v/Users/work/nginx/log:/var/log/nginx -v /Users/work/nginx/html:/usr/share/nginx/html -d nginx:latest
5.查看正在运行的docker

6.访问测试成功,docker nginx配置成功

目录
相关文章
|
11月前
|
前端开发 安全 测试技术
Postman Mac 版安装终极指南:从下载到流畅运行,一步到位
Postman 是 API 开发与测试的高效工具,支持各类 HTTP 请求调试与团队协作。本文详解 Mac 版下载、安装步骤,助你快速上手。同时推荐一体化 API 协作平台 Apifox,集文档、调试、测试于一体,提升开发效率与团队协同能力。
|
iOS开发 MacOS 索引
在不受支持的 Mac 上安装 macOS Tahoe 26
在不受支持的 Mac 上安装 macOS Tahoe 26
1070 0
在不受支持的 Mac 上安装 macOS Tahoe 26
|
Oracle Java 关系型数据库
Mac电脑上安装和配置Flutter开发环境
Mac电脑上安装和配置Flutter开发环境
1183 158
|
Ubuntu Linux Shell
Ubuntu gnome WhiteSur-gtk-theme类mac主题正确安装和卸载方式
通过这个过程,用户不仅可以定制自己的桌面外观,还可以学习到更多关于 Linux 系统管理的知识,从而更好地掌握系统配置和主题管理的技巧。
2843 12
|
监控 Shell Linux
Android调试终极指南:ADB安装+多设备连接+ANR日志抓取全流程解析,覆盖环境变量配置/多设备调试/ANR日志分析全流程,附Win/Mac/Linux三平台解决方案
ADB(Android Debug Bridge)是安卓开发中的重要工具,用于连接电脑与安卓设备,实现文件传输、应用管理、日志抓取等功能。本文介绍了 ADB 的基本概念、安装配置及常用命令。包括:1) 基本命令如 `adb version` 和 `adb devices`;2) 权限操作如 `adb root` 和 `adb shell`;3) APK 操作如安装、卸载应用;4) 文件传输如 `adb push` 和 `adb pull`;5) 日志记录如 `adb logcat`;6) 系统信息获取如屏幕截图和录屏。通过这些功能,用户可高效调试和管理安卓设备。
10875 2
|
开发工具 git 开发者
「Mac畅玩鸿蒙与硬件3」鸿蒙开发环境配置篇3 - DevEco Studio插件安装与配置
本篇将专注于如何在 DevEco Studio 中安装和配置必要的插件,以增强开发功能和提升效率。通过正确配置插件,开发流程能够得到简化,开发体验也会更加顺畅。
771 1
「Mac畅玩鸿蒙与硬件3」鸿蒙开发环境配置篇3 - DevEco Studio插件安装与配置
|
开发工具 iOS开发 开发者
「Mac畅玩鸿蒙与硬件2」鸿蒙开发环境配置篇2 - 在Mac上安装DevEco Studio
本篇将专注于如何在 Mac 上安装鸿蒙开发工具 DevEco Studio,确保开发环境能够顺利搭建。完成安装后,可以正式开始鸿蒙应用的开发工作。
1869 1
「Mac畅玩鸿蒙与硬件2」鸿蒙开发环境配置篇2 - 在Mac上安装DevEco Studio
|
机器学习/深度学习 Python
【10月更文挑战第5天】「Mac上学Python 6」入门篇6 - 安装与使用Anaconda
本篇将详细介绍如何在Mac系统上安装和配置Anaconda,如何创建虚拟环境,并学习如何使用 `pip` 和 `conda` 管理Python包,直到成功运行第一个Python程序。通过本篇,您将学会如何高效地使用Anaconda创建和管理虚拟环境,并使用Python开发。
684 4
【10月更文挑战第5天】「Mac上学Python 6」入门篇6 - 安装与使用Anaconda
|
IDE 开发工具 iOS开发
【10月更文挑战第3天】「Mac上学Python 3」入门篇3 - 安装Python与开发环境配置
本篇将详细介绍如何在Mac系统上安装Python,并配置Python开发环境。内容涵盖Python的安装、pip包管理工具的配置与国内镜像源替换、安装与配置PyCharm开发工具,以及通过PyCharm编写并运行第一个Python程序。通过本篇的学习,用户将完成Python开发环境的搭建,为后续的Python编程工作打下基础。
1580 2
【10月更文挑战第3天】「Mac上学Python 3」入门篇3 - 安装Python与开发环境配置