由于最近很忙,一直都没有更新,今天清明假期,刚好有点时间,接着之前继续更新——如何使用Docker部署Nginx
- 查看最新Nginx版本
docker search nginx
- 拉取nginx最新的镜像
docker pull nginx
- 启动一个容器
docker run –name nginx -p 8081:80 -d nginx
nginx 容器名称。
-d
设置容器在在后台一直运行。-p
端口进行映射,将本地 8081 端口映射到容器内部的 80 端口。
访问公网IP地址+8081端口号地址,测试nginx是否部署成功
- 部署可灵活配置的nginx
由于以上部署方式为docker容器中部署,如果我们需要更改配置等信息时,还要进入容器去更改,比较麻烦,且万一容器不小心删除等操作,会连同所有nginx文件都会删掉,因此,我们需要将一些重要文件放置在服务器的指定路径下,并挂载在docker上,这样可以更灵活的配置nginx
- 创建目录存放需要的文件
mkdir -p ~/nginx/www ~/nginx/logs ~/nginx/conf
www 目录将映射为 nginx 容器配置的虚拟目录。
logs 目录将映射为 nginx 容器的日志目录。
conf 目录里的配置文件将映射为 nginx 容器的配置文件。
- 拷贝容器内 Nginx 默认配置文件到本地当前目录下的 conf 目录,容器 ID 可以查看 docker ps 命令输入中的第一列:
docker cp 02e217549785:/etc/nginx/. conf/
docker cp 02e217549785:/usr/share/nginx/html/. www/
docker cp 02e217549785:/var/log/nginx/. logs/
- 运行命令
docker run -d -p 80:80 -p 443:443 –name nginxserver -v ~/nginx/www:/usr/share/nginx/html -v ~/nginx/conf:/etc/nginx -v ~/nginx/logs:/var/log/nginx nginx
-p 80:80: 将容器的 80 端口映射到主机的 80 端口。
–name nginxserver:将容器命名为 nginxserver。
–v ~/nginx/www:/usr/share/nginx/html:将我们自己创建的 www 目录挂载到容器的 /usr/share/nginx/html。
-v ~/nginx/conf:/etc/nginx:将我们自己创建的 conf 挂载到容器的 /etc/nginx。
-v ~/nginx/logs:/var/log/nginx:将我们自己创建的 logs 挂载到容器的 /var/log/nginx。
nginx :使用nginx镜像启动
- 测试nginx
cd ~/nginx/www
创建 index.html 文件,随便写下一个html页面,访问服务器IP地址,查看nginx是否部署成功。至此,docker部署nginx已经完成了,接下来,就可以使用nginx了