码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 【500强 Kubernetes 课程】第3章 运行docker容器


    一 - 三 ,docker基础操作见 第2章7节

    四、docker部署web网站

    1、安装 nginx (适合场景:学习 - 略)

    2、docker 安装 nginx

    Stage 1 :docker hub 上 搜索 nginx 镜像

    Stage 2:拉取官方镜像

    Stage 3:创建Nginx 挂载目录

     Stage 4:创建容器 nginx

    Stage 5:将所需文件在容器中复制出来

    Stage 6:停止容器,并删除

    Stage 7:启动容器(挂载)

    Stage 8:测试访问

    3、docker-compose 安装 nginx (推荐)

    Stage 1:创建如下目录结构

    Stage 2:配置文件 - nginx.conf

    Stage 3:docker-compose.yaml

    Stage 4:运行 docker-compose up -d 安装


    一 - 三 ,docker基础操作见 第2章7节

    四、docker部署web网站

    1、安装 nginx (适合场景:学习 - 略)

            docker用centos镜像创建容器,然后在容器中安装nginx

    2、docker 安装 nginx

    Stage 1 :docker hub 上 搜索 nginx 镜像

    docker search nginx

    Stage 2:拉取官方镜像

    docker pull nginx
    

    Stage 3:创建Nginx 挂载目录

            Nginx需要频繁的修改,所以将需要的文件挂载出来最合适

    1. // 先创建nginx目录(以下是示例路径)
    2. [root@192 ~]# mkdir nginx
    3. [root@192 ~]# cd nginx/
    4. // 创建配置文件挂载
    5. [root@192 nginx]# mkdir conf
    6. // 创建静态文件挂载
    7. [root@192 nginx]# mkdir html
    8. // 创建日志文件挂载
    9. [root@192 nginx]# mkdir log
    10. // 列出目录
    11. [root@192 nginx]# ls
    12. conf html log

     Stage 4:创建容器 nginx

    1. // 列出镜像
    2. [root@192 nginx]# docker images
    3. // 启动容器 注意 -d 镜像名称:版本
    4. [root@192 nginx]# docker run -d docker.io/nginx:1.25

    Stage 5:将所需文件在容器中复制出来

            因为挂载时,如果宿主机挂载目录为空,则可能会将容器中挂载的目录给覆盖

    1. //将容器nginx.conf文件复制到宿主机
    2. [root@192 nginx]# docker cp 容器id:/etc/nginx/nginx.conf /root/nginx/conf/nginx.conf
    3. //将容器conf.d文件夹复制到宿主机
    4. [root@192 nginx]# docker cp 容器id:/etc/nginx/conf.d /root/nginx/conf/conf.d
    5. //将容器静态文件夹html复制到宿主机
    6. [root@192 html]# docker cp 容器id:/usr/share/nginx/html/ /root/nginx

    Stage 6:停止容器,并删除

    1. // 停止容器,ce869a为容器id
    2. [root@192 html]# docker stop 容器id/容器名
    3. //删除容器
    4. [root@192 html]# docker rm 容器id/容器名

    Stage 7:启动容器(挂载)

    docker run -d -p 80:80 --name nginx --privileged --restart always -v /root/nginx/conf/nginx.conf:/etc/nginx/nginx.con -v /root/nginx/conf/conf.d:/etc/nginx/conf.d -v /root/nginx/html:/usr/share/nginx/html -v /root/nginx/log:/var/log/nginx docker.io/nginx:1.25
     

    -d:后台运行
    -p:将主机端口80和容器端口80绑定,
    –name:容器命名
    –privileged:容器获得对主机上设备的直接访问权限
    –restart always:设置开机自动重启
    -v:挂载目录,格式 主机目录 :容器目录

    Stage 8:测试访问

    3、docker-compose 安装 nginx (推荐)

    Stage 1:创建如下目录结构

    Stage 2:配置文件 - nginx.conf

    1. user root;
    2. worker_processes auto;
    3. pid /run/nginx.pid;
    4. events {
    5. worker_connections 768;
    6. # multi_accept on;
    7. }
    8. http {
    9. ##
    10. # Basic Settings
    11. ##
    12. sendfile on;
    13. tcp_nopush on;
    14. tcp_nodelay on;
    15. keepalive_timeout 65;
    16. types_hash_max_size 2048;
    17. # server_tokens off;
    18. # server_names_hash_bucket_size 64;
    19. # server_name_in_redirect off;
    20. include /etc/nginx/mime.types;
    21. default_type application/octet-stream;
    22. ##
    23. # SSL Settings
    24. ##
    25. ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # Dropping SSLv3, ref: POODLE
    26. ssl_prefer_server_ciphers on;
    27. ##
    28. # Logging Settings
    29. ##
    30. access_log /var/log/nginx/access.log;
    31. error_log /var/log/nginx/error.log;
    32. ##
    33. # Gzip Settings
    34. ##
    35. gzip on;
    36. gzip_disable "msie6";
    37. include /etc/nginx/conf.d/*.conf;
    38. server {
    39. listen 8080;
    40. server_name 0.0.0.0;
    41. location / {
    42. root html/backstage/;
    43. try_files $uri /index.html;
    44. index index.html index.htm;
    45. }
    46. }
    47. }

     

    Stage 3:docker-compose.yaml

    1. version: '3.1'
    2. services:
    3. nginx:
    4. restart: always
    5. container_name: nginx
    6. image: nginx:1.17.6
    7. ports:
    8. - 8082:8080
    9. - 8000:8000
    10. - 8081:8081
    11. volumes:
    12. - ./nginx/nginx.conf:/etc/nginx/nginx.conf
    13. - ./nginx/nginx-log:/var/log/nginx
    14. - ./nginx/html:/etc/nginx/html
    15. deploy:
    16. resources:
    17. limits:
    18. memory: 500M
    19. reservations:
    20. memory: 200M

     

    Stage 4:运行 docker-compose up -d 安装

    1. # 进入目录下
    2. cd /mnt/docker/nginx
    3. # docker-compose 安装nginx
    4. docker-compose up -d

  • 相关阅读:
    RedisTemplate操作Redis
    如何估算transformer模型的显存大小
    解决Redis、MySQL缓存双写不一致问题
    Python+AI智能编辑人脸
    常用的Python技巧来提高代码的可读性案例
    noexcept说明符/运算符
    英文学术写作笔记1——伦理性(Ethics)描述
    计算机毕业设计Python+Django的学生作业管理系统
    8c sql手册 六
    Python 进阶:函数装饰器
  • 原文地址:https://blog.csdn.net/ladymorgana/article/details/134419207
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号