最近項目上想要把項目部署到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目錄正確,那就看我們掛載的目錄是否存在或正確就好。
有遇到什么問題可以私信或評論,我們一起討論解決問題。