当前位置:   article > 正文

MacOS使用docker安装nginx_mac docker nginx

mac docker nginx

一、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
  • 1

在这里插入图片描述

2、安装Nginx镜像

$docker pull nginx
  • 1

在这里插入图片描述

一般默认都是latest

3、查看是否安装成功

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

docker images
  • 1

4、安装成功后执行nginx

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

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

5、查看容器

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

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(注意:这是文件夹)
  • 1
  • 2
  • 3
  • 4

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
  • 1
  • 2

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

参数说明:

  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
  • 1

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/946403
推荐阅读
相关标签
  

闽ICP备14008679号