• Docker 部署 Nginx


    1.查找 Docker Hub 上的 nginx 镜像

    [root@localhost ~]# docker search nginx

    2.拉取官方的Nginx镜像

    [root@localhost ~]# docker pull nginx

    3.在本地镜像列表里查到 REPOSITORY 为 nginx 的镜像

    [root@localhost ~]# docker images nginx
    REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
    docker.io/nginx     latest              f949e7d76d63        5 weeks ago         126 MB
    [root@localhost ~]# 
    

      

    4.以下命令使用 NGINX 默认的配置来启动一个 Nginx 容器实例:

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

    • nginx 容器名称
    • -d: 设置容器在后台一直运行
    • -p 端口进行映射,将本地 8081 端口映射到容器内部的 80 端口(host portcontainer port

    执行以上命令会生成一串字符串,类似 13afb35cbc98ebd8ad451f0fda9bec24e814916c1e929b89363e7ca92c1746eb,这个表示容器的 ID,一般可作为日志的文件名。

    我们可以使用 docker ps 命令查看容器是否有在运行:

    docker ps 

    PORTS 部分表示端口映射,本地的 8080 端口映射到容器内部的 80 端口。

    在浏览器中打开 http://机器IP:8080/,效果如下:

    实例2:nginx 服务部署,映射本地目录到nginx容器

    1.创建本地目录,用于存放Nginx的相关文件信息.

    # mkdir -p /usr/local/nginx/www /usr/local/nginx/logs /usr/local/nginx/conf

    其中:

          www: 目录将映射为 nginx 容器配置的虚拟目录。

          logs: 目录将映射为 nginx 容器的日志目录。

          conf: 目录里的配置文件将映射为 nginx 容器的配置文件。

    2.拷贝容器内 Nginx 默认配置文件到本地当前目录下的 conf 目录,容器ID可以查看 docker ps 命令输入中的第一列:

    [root@localhost home]# docker ps
    CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                  NAMES
    358354f206fd        nginx               "nginx -g 'daemon ..."   29 minutes ago      Up 29 minutes       0.0.0.0:8080->80/tcp   nginx-test
    [root@localhost home]# 
    [root@localhost home]# docker cp 358354f206fd:/etc/nginx/nginx.conf /usr/local/nginx/conf/

    3.部署命令

    docker run -d -p 8080:80 --name nginx -v /usr/local/nginx/www:/usr/share/nginx/html -v /usr/local/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /usr/local/nginx/logs:/var/log/nginx nginx

    命令说明:

          --rm:容器终止运行后,自动删除容器文件。

          -p 8080:80: 将容器的 80 端口映射到主机的 8082 端口.

          --name nginx-test-web:将容器命名为 nginx-test-web 

          -v /usr/local/nginx/www:/usr/share/nginx/html:将我们自己创建的 www 目录挂载到容器的 /usr/share/nginx/html。

          -v /usr/local/nginx/conf/nginx.conf:/etc/nginx/nginx.conf:将我们自己创建的 nginx.conf 挂载到容器的 /etc/nginx/nginx.conf。

          -v /usr/local/nginx/logs:/var/log/nginx:将我们自己创建的 logs 挂载到容器的 /var/log/nginx。

    4.启动以上命令后进入 /usr/local/nginx/www 目录:

    [root@localhost ~]# cd /usr/local/nginx/www/
    [root@localhost www]# vim index.html 
    
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="utf-8">
    <title>Nginx test !!!</title>
    </head>
    <body>
        <h1>我的第一个标题</h1>
        <p>我的第一个段落。</p>
    </body>
    </html>

    在浏览器里面输入http://172.17.0.1:8080/,输出结果如下,如果在访问时出现403错误,应该是index.html文件权限不足,给成644就

    docker内的nginx重启

    docker restart nginx
  • 相关阅读:
    JS eval()小结
    纯JS的ajax实例
    js特效代码-鼠标样式
    JS typeof与instanceof的区别
    linux下网卡绑定
    KVM+VNC 虚拟机远程管理
    smokeping安装
    Python:字符串中引用外部变量的3种方法
    Python:模块学习——os模块
    Python:模块学习——sys模块
  • 原文地址:https://www.cnblogs.com/jtlgb/p/13425850.html
Copyright © 2020-2023  润新知