docker安装nginx并且部署前端项目

1.简介

本文主要介绍如何使用docker安装nginx,以及如何将前端打包好的vue项目部署到nginx上。

2.操作

(1)拉取nginx镜像:

 docker pull nginx    

(2)咱们先把docker镜像跑起来:

docker run --name myNginx -p 80:80 -v /home/nginx/dist:/usr/share/nginx/html  -d nginx


## --name:容器名字
## -d: 要启动的镜像的名字
## -v: /home/nginx/dist 这是宿主机(服务器)中的目录映射到nignx容器中的/usr/share/nginx/html中;

其实最让人费解的就是-v这个东西,其实就是docker的文件映射。我自己的理解就是将宿主机与nginx镜像中的目录映射关联起来,这样的效果就是nginx镜像中的目录下的文件发生了什么变化,与之映射的宿主机的目录也会随之变化,同理,当宿主机中的映射目录下的文件发生变化,与之对应的nginx镜像中的映射目录也会有同样的变化,二者的内容是保持一样了,这样的好处就是我们以后想改某个容器的配置文件的时候,不用再进入到容器内部去改了,咱直接在宿主机上改即可。

(3)上一步启动容器的目的是想把容器中的一些目录先拷贝到宿主中,上一个启动命令并不是终极版的启动命令,咱们还需要把nginx容器中的配置文件所在的目录下的文件内容拷贝到宿主机中,让这两个目录的原始内容先保持一致,废话不多说,请看命令:

 docker cp 容器id:/etc/nginx /home/etc

咱们把nginx容器中的/etc/nginx下的内容拷贝到宿主机的/home/etc文件中,如果同学你的/home里面没有etc这个文件夹,可以提前建一个再来拷贝。

(4)好好好,这个nginx容器我已经利用完了,现在是时候抛弃它了,因为咱们的终极版nginx容器是不需要它了,运行下面的命令来把这个nginx容器干掉(我真无情~哈哈):

docker  rm   容器id

(5)做完上面的无情第四步之后,接下来是最重要的一步,我们要启动nginx镜像。

docker run --name myNginx -p 80:80  -v /home/nginx/dist:/usr/share/nginx/html -v 
 /home/etc/nginx:/etc/nginx -d  镜像的id或者名字

解释:启动镜像的时候,最重要的就是做好文件映射,这里有两个地方我们需要映射的,一个是nginx镜像中的:/usr/share/nginx/html,这个目录是用于放具体的vue前端项目的嘛,我们就用将它映射到宿主机(你的服务器)中的这个目录: /home/nginx/dist;还有一个是nginx镜像中的: /etc/nginx,这个目录里面有nginx的配置文件,咱们映射到宿主机:/home/etc/nginx里面。映射了这个目录以后,修改nginx的配置文件就可以不用再到容器里面了,可以直接到宿主机的/home/etc/nginx里面去修改nginx的配置文件。

(6)咱们继续看看怎么到宿主机上修改nginx的配置文件:

cd  /home/etc/nginx/conf.d

到这个目录下,我们可以看到一个:  default.conf,是的,就是它,这个文件就是配置nginx的关键文件。

然后就是咱们build的前端项目只要上传到宿主机中的:  /home/nginx/dist里面即可,就像下面这样。

最后咱们可以重启一下nginx容器,看看有没有生效。访问地址是:你的ip地址:80

 

3. 总结

废话很多,最重要的就是要想提醒同学们要注意docker的文件映射,尤其docker的启动命令中,不要看到很长就懒得仔细看,一股脑就复制到服务器上执行。好了,以上就是我的分享,如果有问题咱们评论区见~

  • 3
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
您好!要在Docker部署Nginx前端项目,您可以按照以下步骤进行操作: 1. 首先,确保您已经安装Docker。如果没有安装,请根据您的操作系统进行安装。 2. 创建一个新的文件夹,用于存放您的前端项目文件。假设您将其命名为"my-frontend"。 3. 在"my-frontend"文件夹中创建一个名为"Dockerfile"的文件,并将以下内容添加到文件中: ``` # 使用Nginx作为基础镜像 FROM nginx # 将前端项目文件复制到Nginx的默认网站目录 COPY . /usr/share/nginx/html # 可选:如果您的前端项目需要使用特定的Nginx配置文件,可以将配置文件复制到/etc/nginx/conf.d/目录下 # 暴露Nginx默认的80端口 EXPOSE 80 # 启动Nginx CMD ["nginx", "-g", "daemon off;"] ``` 4. 将您的前端项目文件复制到"my-frontend"文件夹中。 5. 打开命令行终端,并导航到"my-frontend"文件夹。 6. 构建Docker镜像。在命令行中运行以下命令: ``` docker build -t my-frontend-image . ``` 这将根据"Dockerfile"中的配置构建一个名为"my-frontend-image"的Docker镜像。请确保在命令末尾的"."表示当前目录。 7. 运行Docker容器。在命令行中运行以下命令: ``` docker run -d -p 80:80 my-frontend-image ``` 这将在后台运行一个名为"my-frontend-container"的Docker容器,并将宿主机的80端口映射到容器的80端口。 现在,您的前端项目已经通过Nginx成功部署Docker中了。您可以通过访问http://localhost 来查看您的项目。 请注意,上述步骤假设您的前端项目不需要任何特殊的Nginx配置。如果您的项目需要自定义Nginx配置,请将配置文件复制到"Dockerfile"中指定的目录,并相应地修改配置文件的名称和路径。 希望这能对您有所帮助!如果您有任何其他问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值