• Docker 部署nginx记录


    1. Docker拉取nginx镜像

    1.1 拉取nginx镜像

    docker pull nginx:latest
    -----------------------------------
    latest: Pulling from library/nginx
    461246efe0a7: Already exists 
    060bfa6be22e: Pull complete 
    b34d5ba6fa9e: Pull complete 
    8128ac56c745: Pull complete 
    44d36245a8c9: Pull complete 
    ebcc2cc821e6: Pull complete 
    Digest: sha256:1761fb5661e4d77e107427d8012ad3a5955007d997e0f4a3d41acc9ff20467c7
    Status: Downloaded newer image for nginx:latest
    docker.io/library/nginx:latest
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    1.2 查看镜像

    docker images
    -----------------------------------
    REPOSITORY   TAG       IMAGE ID       CREATED       SIZE
    nginx        latest    41b0e86104ba   2 weeks ago   142MB
    
    • 1
    • 2
    • 3
    • 4

    如果TAG展示为,虽然不影响使用(启动时使用IMAGE ID)但是不容易分辨,可以通过以下命令修改为指定tag。

    docker tag nginx:latest
    --------------------------
    以本篇文章为例,执行以下命令修改容器nginx的tag为latest
    docker tag 41b0e86104ba nginx:latest
    
    • 1
    • 2
    • 3
    • 4

    2. Docker启动nginx

    后台启动nginx

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

    查看容器启动情况

    docker ps
    --------------------------
    CONTAINER ID   IMAGE     COMMAND                  CREATED          STATUS          PORTS                               NAMES
    8c3ee6abb5f7   nginx     "/docker-entrypoint.…"   44 minutes ago   Up 44 minutes   0.0.0.0:80->80/tcp, :::80->80/tcp   nginxlearn
    
    • 1
    • 2
    • 3
    • 4

    容器交互

    docker exec -it container_id bash
    --------------------------
    以本篇文章为例,进入docker容器
    docker exec -it 8c3ee6abb5f7 bash
    
    • 1
    • 2
    • 3
    • 4

    3. 配置nginx

    3.1 docker内nginx目录

    docker容器内nginx默认位置

    1. 配置文件目录

      /etc/nginx

    2. 静态文件目录

      /usr/share/nginx/html

    3. 日志文件目录

      /var/log/nginx

    3.2 宿主机管理内容及配置

    3.2.1 创建宿主机目录

    mkdir /usr/local/nginx/{conf,logs,html}
    
    • 1

    3.2.2 拷贝容器文件到宿主机

    1. 拷贝nginx.conf配置文件到本地
      docker cp nginx:/etc/nginx/nginx.conf $PWD/conf
      
      • 1
    2. 拷贝conf.d目录到本地
      docker cp nginx:/etc/nginx/conf.d $PWD/conf
      
      • 1

    3.2.3 停止容器

    docker stop nginx
    
    • 1

    3.2.4 删除容器

    docker rm nginx
    
    • 1

    3.2.5 挂载目录并启动

    docker run -d -p 80:80   --name nginxlearn  -v /usr/local/nginx/html:/usr/share/nginx/html  -v /usr/local/nginx/conf/nginx.conf:/etc/nginx/nginx.conf  -v /usr/local/nginx/conf/conf.d:/etc/nginx/conf.d  -v /usr/local/nginx/logs:/var/log/nginx  --privileged=true nginx
    
    • 1

    3.2.6 Docker 启动参数

    1. -d: 后台运行容器
    2. -p: 对端口进行映射(宿主机端口:容器端口)
    3. –name: 创建的容器名称
    4. -v: 挂载主机目录(将本地目录(文件)挂载到容器指定目录)
    5. –privileged: 容器授权(root)
    6. -i: 以交互模式运行容器,通常与-t同时使用
    7. -t: 为容器重新分配一个伪输入终端,通常与-i同时使用
    8. 更多启动参数参考Docker Run

    3.2.6 SSL 配置

    因网站备案审批中,暂时未做SSL处理,等待后续申请成功会补充此部分内容。

    4 参考文档

    Docker从入门到实践

    使用 Docker 部署 NGINX 和 NGINX Plus

    免费的HTML5模版网

  • 相关阅读:
    古琴【A5】良宵引
    项目实战——项目上线
    js for循环案例
    新 NFT 来袭!Omnimorphs “来自虚空的回声” 作品集
    Mybatis总结
    卓越进行时 | 聚焦网络安全学科建设 深化校企合作协同育人
    淘宝商品评论数据爬取:Python实战指南
    【React】React学习:从初级到高级(三)
    Clickhouse MergeTree原理(二)—— 表和分区的维护
    pandas.eval()/pandas.Series()/lambda/itertools.product
  • 原文地址:https://blog.csdn.net/y534560449/article/details/125998830