博主是个小白,我使用nginx的主要目的有三个,一个是减少防火墙开启端口的数量,大部分网站的访问不单独开端口而是根据域名统一采用nginx转发,比较好管理;第二个是避免要记那么多个端口,直接用域名来访问比较方便;还有个非常重要的就是可以隐藏自己的ip,防止被攻击或者应用暴露在公网。

Docker 安装nginx

直接输入下面的命令

docker run -d -p 80:80 --name nginx nginx

此时会自动拉取镜像,并运行容器。 为了方便我们手动编辑conf文件,我们需要将自动生成的文件拷贝出来,然后挂载到容器上,不然每次修改都需要进入容器内修改,比较麻烦。

在当前目录下面新建目录nginx/conf。

mkdir nginx
cd nginx
mkdir conf

然后将文件复制到conf目录中

docker cp nginx:/etc/nginx/nginx.conf $PWD/conf
docker cp nginx:/etc/nginx/conf.d $PWD/conf

新建文件夹nginx/htlm,nginx/ssl

mkdir htlm
mkdir ssl

停止并删除容器

docker stop nginx 
docker rm nginx

重新运行容器

docker run  -p 80:80 --name nginx --restart=always 
-v /opt/docker/nginx/conf/nginx.conf:/路径/nginx.conf \
-v /opt/docker/nginx/conf.d:/路径/conf.d \
-v /opt/docker/nginx/html:/路径/nginx/html \ 
-v /opt/docker/nginx/logs:/var/log/nginx \ 
-v /ssl:/路径/nginx/ssl  
-d  nginx

这里的路径指的是你之前新建文件夹使用的当前路径。 这样就算安装好了docker logs nginx 可以查看到当前容器的输出日志。 ssl 是方便之后存放证书和密钥的地方,挂载到容器中可以使用https。