使用 Docker 安装 Nginx

实验环境

  • OS:CentOS7.6
  • Docker:20.10.5
  • Nginx:1.19.10

实验步骤

1. 拉取 nginx官方的最新镜像

$ docker pull nginx:latest

2. 查看本地镜像

$ docker images

3. 运行 nginx 容器

$ docker run --name nginx-test -p 80:80 -d nginx
  • -d: 后台运行容器,并返回容器id;
  • -name:容器名称;
  • -p 80:80 :映射容器服务的 80 端口到宿主机的 80 端口;

4. 查看容器运行情况

$ docker ps

查看容器运行情况

5.测试

可以通过浏览器可以直接访问 8080 端口的 nginx 服务:

查看容器运行情况

6.配置 nginx 关键目录映射到本机

  • 在本机创建 nginx 的一些文件存储目录

    $ mkdir -p /root/lacerate/nginx /root/lacerate/nginx/www /root/lacerate/nginx/logs /root/lacerate/nginx/conf
    
  • 将 nginx-test 容器配置文件复制到本地

    $ docker cp nginx-test:/etc/nginx/nginx.conf /root/lacerate/nginx/conf
    

  • 创建新 nginx 容器,并将 html,logs,nginx.conf 目录或文件映射到本地

    $ docker stop nginx-test
    $ docker rm nginx-test
    $ docker run -d -p 80:80 -p 443:443 --name nginx-lacerate -v /root/lacerate/nginx/www:/usr/share/nginx/html -v /root/lacerate/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /root/lacerate/nginx/logs:/var/log/nginx nginx
    

  • 在本机 /root/lacerate/nginx/www 目录下创建 index.html 内容:

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="utf-8">
    <title>测试</title>
    </head>
    <body>
      <h1>docker 搭建 nginx 映射成功</h1>
    </body>
    </html>
    

通过浏览器可以直接访问 8080 端口的 nginx 服务:

完成