没想到终于有一天,吐槽君要在自己的局域网内安装Nginx,还不是bitwarden的https给闹的。。。
先给自己的挂载分区建立一个Nginx主目录和两个html、log二级目录
如何在N1或Linux系统下挂载网络硬盘可以参考以下:
然后输入以下命令:
cd /home
mkdir nginx
cd nginx
mkdir html
mkdir log
等等,这里需要搞个骚操作,先安装个测试版nginx,因为这货很矫情,别家都可以链接挂载分区,这货不行,不认,不让!
先安装个测试nginx
docker run –name test -d nginx
把里面的nginx.conf复制出来,不需要任何修改
docker cp test:/etc/nginx/nginx.conf /data/docker/nginx/conf/
再看看这个test的容器,确认下所需路径是不是都是对的
docker exec -it test /bin/bash
/etc/nginx/nginx.conf:ro
/etc/nginx/conf.d:ro
/usr/share/nginx/html:rw
/var/log/nginx
ro、rw 什么的是文件权限,之后安装nginx容器需要用到,所以,别在乎细节~
开始正式安装
docker run –privileged -d –restart=always –name nginx -p 290:80 -p 291:81 -p 293:443 -v /home/nginx/html:/usr/share/nginx/html:rw -v /home/nginx/nginx.conf:/etc/nginx/nginx.conf:ro -v /home/nginx/conf/conf.d:/etc/nginx/conf.d:ro -v /home/nginx/logs:/var/log/nginx -d nginx
独立IP版本:
docker run –name nginx-proxy-manager -d –restart=always -d –network macnet –mac-address xx:xx:xx:xx:xx:xx –ip 192.168.1.x -v /home/nginx/html:/usr/share/nginx/html -v /home/nginx/nginx.conf:/etc/nginx/nginx.conf -v /home/nginx/conf/conf.d:/etc/nginx/conf.d -v /home/nginx/logs:/var/log/nginx –privileged nginx:latest
xx:xx:xx:xx:xx:xx 代表Mac地址
192.168.1.x 自己设定
IPv6 不认,千万别搞。。。
这里可能会报错:
container init caused: rootfs_linux.go:60: mounting “/home/nginx/nginx.conf”
因为上面路径有问题,但又不得不指定,事后去portainer 里删掉就完美允许了。
还不行?又看到 conf.d文件夹是空的,无语,再去test里复制下
docker cp test:/etc/nginx/conf.d/default.conf /home/nginx/conf/conf.d
搞定,配置文件还是不需要改,重启该容器,敲个docker命令测试看看有么有好用
docker restart ID
curl ip:port
还不放心?在html文件夹里写个index.html试试
cd /home/nginx/html
ls
echo “hello” > index.html
输入ip:290 之后,显示 hello,安装完成