docker安装nginx及配置使用(最全详细文档)

725 阅读2分钟

拉去nginx镜像

查看nginx官网或者docker中央仓库查询版本,最好是根据nginx官网比较两者版本。

image.png 注意: 我们可以看到这个nginx官网现在最新的是1.26.2版本,这个时候我们可以使用下面的命令拉去镜像。

命令描述
docker pull nginx下载最新版Nginx镜像 (等同于 : docker pull nginx:latest )
docker pull nginx:xxx下载指定版本的Nginx镜像 (xxx指版本号)

image.png

安装nginx及配置文件挂载

我们使用镜像创建容器的时候,我们不能直接将nginx.conf使用 -v 将文件挂载出来,因为容器和服务器都不存在,就会导致挂载出来的文件就会是一个文件夹。

本地创建需要挂载出来的目录

在你服务器主机上创建三个docker容器的文件夹,最好统一管理这些文件夹,我是放在 /data/docker/nginx下面,下面创建文件

mkdir -p /data/docker/nginx/{conf,log,html}

将容器的文件复制到宿主机上

首先创建一个默认的容器,这个容器只是让我们把文件复制到宿主机的作用,后期会重新启动一个新的容器。

# 生成容器
docker run -p 80:80 -d nginx:1.26.2 --name nginx
# 将容器nginx.conf文件复制到宿主机
docker cp nginx:/etc/nginx/nginx.conf  /data/docker/nginx/conf/nginx.conf
# 将容器conf.d文件夹下内容复制到宿主机
docker cp nginx:/etc/nginx/conf.d /data/docker/nginx/conf/conf.d
# 将容器中的html文件夹复制到宿主机
docker cp nginx:/usr/share/nginx/html /data/docker/nginx/

注意: nginx:/etc/nginx/nginx.conf 中的nginx:指的是创建容器的名称或者是CONTAINER ID 。

创建新的容器并挂载配置文件

首先将原来的nginx容器停止删除掉。

# 查看所有正在运行和没运行的容器
docker ps -a
# 关闭该容器
docker stop nginx
# 删除该容器
docker rm nginx

使用挂载的方式启动一个新的容器。

1.多行启动命令

docker run \
-p 80:80 \
--name nginx_prod \
-v /data/docker/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
-v /data/docker/nginx/conf/conf.d:/etc/nginx/conf.d \
-v /data/docker/nginx/log:/var/log/nginx \
-v /data/docker/nginx/html:/usr/share/nginx/html \
-d nginx:1.26.2
  1. 单行启动命令
docker run -p 80:80 --name nginx_prod -v /data/docker/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /data/docker/nginx/conf/conf.d:/etc/nginx/conf.d -v /data/docker/nginx/log:/var/log/nginx -v /data/docker/nginx/html:/usr/share/nginx/html -d nginx:1.26.2

这个时候所有需要安装和配置的都搞定了,现在就是验证是否成功。

  1. 使用docker ps查看是否存在nginx_prod名称的容器
  2. 通过ip或者域名查看你nginx的页面,直接就是80端口,如果出现下面这个页面就说明成功了

image.png