docker部署nginx镜像 并进行文件映射挂载

最近项目上想要把项目部署到docker容器中,然后研究试错了好久,才终于成功,于是记录下来。

首先下载nginx镜像

docker pull nginx

创建挂载的目录,我是放在/data/nginx里面,可自行更改

mkdir -p /data/nginx/conf #存放配置文件
mkdir -p /data/nginx/logs
mkdir -p /data/nginx/html
mkdir -p /data/nginx/conf.d

因为不能挂载文件,只能挂载一个文件夹,所以我们要先创建一个测试test容器的nginx,然后复制配置文件到挂载的目录上

##启动测试容器
docker run --name test -d nginx

##复制配置文件
docker cp test:/etc/nginx/nginx.conf /data/docker/nginx/conf/
docker cp test:/etc/nginx/conf.d/default.conf  /data/docker/nginx/conf.d

##如果不知道配置文件在docker里面的目录位置,可以进去看一下
docker exec -it test /bin/bash

然后运行你自己的nginx

docker run --name nginx --privileged -it -p 80:80 -v /data/nginx/conf/nginx.conf:/etc/nginx/nginx.conf:ro -v /data/nginx/conf.d:/etc/nginx/conf.d:ro -v /data/nginx/html:/usr/share/nginx/html:rw  -v/data/nginx/logs:/var/log/nginx -d nginx

最后把我们的放到html文件夹解压,重启nginx即可

##在html文件夹解压我们上传的dist文件
unzip dist.zip

##重启Jenkins
docker restart b0ba

最后就去访问我们的ip和端口,试试看,也可以在本机测试是否成功

curl ip:port

遇到最多的报错问题,就是挂载目录不对,一定不要急,慢慢梳理就好了,确定好docker内部nginx目录正确,那就看我们挂载的目录是否存在或正确就好。

有遇到什么问题可以私信或评论,我们一起讨论解决问题。

加油,做最棒的自己!!!

posted @ 2021-04-21 11:39  wangchangzhi  阅读(2266)  评论(0编辑  收藏  举报