【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需要频繁的修改,所以将需要的文件挂载出来最合适
// 先创建nginx目录(以下是示例路径)
[root@192 ~]# mkdir nginx
[root@192 ~]# cd nginx/// 创建配置文件挂载
[root@192 nginx]# mkdir conf// 创建静态文件挂载
[root@192 nginx]# mkdir html// 创建日志文件挂载
[root@192 nginx]# mkdir log// 列出目录
[root@192 nginx]# ls
conf html log
Stage 4:创建容器 nginx
// 列出镜像
[root@192 nginx]# docker images// 启动容器 注意 -d 镜像名称:版本
[root@192 nginx]# docker run -d docker.io/nginx:1.25
Stage 5:将所需文件在容器中复制出来
因为挂载时,如果宿主机挂载目录为空,则可能会将容器中挂载的目录给覆盖
//将容器nginx.conf文件复制到宿主机
[root@192 nginx]# docker cp 容器id:/etc/nginx/nginx.conf /root/nginx/conf/nginx.conf//将容器conf.d文件夹复制到宿主机
[root@192 nginx]# docker cp 容器id:/etc/nginx/conf.d /root/nginx/conf/conf.d//将容器静态文件夹html复制到宿主机
[root@192 html]# docker cp 容器id:/usr/share/nginx/html/ /root/nginx
Stage 6:停止容器,并删除
// 停止容器,ce869a为容器id
[root@192 html]# docker stop 容器id/容器名//删除容器
[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
user root;
worker_processes auto;
pid /run/nginx.pid;events {worker_connections 768;# multi_accept on;
}http {### Basic Settings##sendfile on;tcp_nopush on;tcp_nodelay on;keepalive_timeout 65;types_hash_max_size 2048;# server_tokens off;# server_names_hash_bucket_size 64;# server_name_in_redirect off;include /etc/nginx/mime.types;default_type application/octet-stream;### SSL Settings##ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # Dropping SSLv3, ref: POODLEssl_prefer_server_ciphers on;### Logging Settings##access_log /var/log/nginx/access.log;error_log /var/log/nginx/error.log;### Gzip Settings##gzip on;gzip_disable "msie6";include /etc/nginx/conf.d/*.conf;server {listen 8080;server_name 0.0.0.0;location / {root html/backstage/;try_files $uri /index.html;index index.html index.htm;}}
}
Stage 3:docker-compose.yaml
version: '3.1'services:nginx:restart: alwayscontainer_name: nginximage: nginx:1.17.6ports:- 8082:8080- 8000:8000- 8081:8081volumes:- ./nginx/nginx.conf:/etc/nginx/nginx.conf- ./nginx/nginx-log:/var/log/nginx- ./nginx/html:/etc/nginx/htmldeploy:resources:limits:memory: 500Mreservations:memory: 200M
Stage 4:运行 docker-compose up -d 安装
# 进入目录下
cd /mnt/docker/nginx# docker-compose 安装nginx
docker-compose up -d
相关文章:
【500强 Kubernetes 课程】第3章 运行docker容器
一 - 三 ,docker基础操作见 第2章7节 四、docker部署web网站 1、安装 nginx (适合场景:学习 - 略) 2、docker 安装 nginx Stage 1 :docker hub 上 搜索 nginx 镜像 Stage 2:拉取官方镜像 Stage 3&…...
Python中表格插件Tabulate的用法
目录 一、引言 二、Tabulate插件安装与导入 三、Tabulate基本用法 1、创建表格: 2. 格式化表格: 3. 表格转置: 4、合并单元格: 5、指定每列的格式: 6、指定每行的格式: 7、使用自定义表格格式&am…...
缺陷分级(过程质量bug分级)
缺陷按照其影响的严重程度,从高到低分成5级,分别为致命(Blocker)、严重(Critical)、一般(Major)、轻微(Minor)以及建议(Enhancement)。…...
pycharm/vscode 配置black和isort
Pycharm blackd Pycharm中有插件可以实现后台服务运行black:BlackConnect 安装 在python中安装blackd 配置 Pycharm isort pycharm中,isort没有插件,暂使用外部工具实现,外部工具也可添加快捷键实现快捷对文件、文件夹进行fo…...
python列出本地文件路径
按照之前的设想,如果要罗列出本地文件的列表,那不是需要不断的判断文件夹里面的文件夹吗?或者需要使用递归函数本身,才能达到目的吧?没想到使用pop这个函数就可以了。pop是取出元素,那列表里就少了一个&…...
在JavaScript中检查一个数字是否是另一个数字的倍数
使用%模数运算符 为了检查一个数字是否是另一个数字的倍数,我们可以使用JavaScript中的% modulo运算符。 modulo% 操作符返回第一个数字在第二个数字上的余数,例如:10 % 2 0 ,所以如果我们得到一个余数0 ,那么给定的数…...
计算机网络五层协议的体系结构
计算机网络中两个端系统之间的通信太复杂,因此把需要问题分而治之,通过把一次通信过程中涉及的所有问题分层归类来进行研究和处理 体系结构是抽象的,实现是真正在运行的软件和硬件 1.实体、协议、服务和服务访问点 协议必须把所有不利条件和…...
MySQL 运算符二
逻辑运算符 逻辑运算符用来判断表达式的真假。如果表达式是真,结果返回 1。如果表达式是假,结果返回 0。 运算符号作用NOT 或 !逻辑非AND逻辑与OR逻辑或XOR逻辑异或 1、与 mysql> select 2 and 0; --------- | 2 and 0 | --------- | 0 | -…...
【SA8295P 源码分析】121 - MAX9295A 加串器芯片手册分析 及初始化参数分析
【SA8295P 源码分析】121 - MAX9295A 加串器芯片手册分析 及初始化参数分析 一、MAX9295A 芯片特性1.1 GPIO 引脚说明1.2 功能模块框图1.3 时序分析1.3.1 GMSL2 Lock Time:25 ms1.3.2 视频初始化延时:1.1ms + 17000 x t(PCLK)1.3.3 High-Speed Data Transmission in Bursts1.…...
问题汇总20231103
文章目录 前言问题汇总1.所有操作系统在CPU层面上是不是都为时间片轮转的形式处理程序?只是任务调度的调度算法不同?那多线程的本质也是时间片吗?只不过很小?2.Mcu和mpu的本质区别3.下载HAL库步骤4.RAM,ROM,SRAM,SDRAM,DDR内存5.编…...
65.Undertow代替Tomcat
SpringBoot中我们既可以使用Tomcat作为Http服务,也可以用Undertow来代替。Undertow在高并发业务场景中,性能优于Tomcat。所以,如果我们的系统是高并发请求,不妨使用一下Undertow,你会发现你的系统性能会得到很大的提升…...
前端mockjs使用方式[express-mockjs]
前提 现在基本上都是前后端分离项目的开发,而前端对于UI界面开发完毕之后往往都需要等待后端的接口提供,因此为了解决这个问题,这里提供一个由express和mockjs结合的本地服务应用项目,可以前端随意造数据配合UI页面进行开发。 个…...
矿区安全检查VR模拟仿真培训系统更全面、生动有效
矿山企业岗位基数大,生产过程中会持续有新入矿的施工人员及不定期接待的参观人员,下井安全须知培训需求量大。传统实景拍摄的视频剪辑表达方式有限,拍摄机位受限,难以生动表达安全须知的内容,且井下现场拍摄光线不理想…...
在SpringBoot中使用EhCache缓存
在使用EhCache缓存之前,我们需要了解的是EhCache缓存是啥? Ehcache的概述 Ehcache是一个开源的Java缓存框架,用于提供高效的内存缓存解决方案,他可以用于缓存各种类型的数据,包括对象,查询结果࿰…...
filter - 常用滤镜效果(毛玻璃、图片阴影、图片褪色)
文章目录 filter 属性滤镜算法函数blur:高斯模糊hue-rotate:色相环contrast:对比度grayscale:灰度drop-shadow:图片阴影 常见的滤镜效果图片内容轮廓阴影毛玻璃图片黑白调整图片色相和对比度使元素或文字变圆润 filter…...
【开源】基于Vue和SpringBoot的数据可视化的智慧河南大屏
项目编号: S 059 ,文末获取源码。 \color{red}{项目编号:S059,文末获取源码。} 项目编号:S059,文末获取源码。 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块三、系统展示四、核心代码4.1 数据模块 …...
小型内衣洗衣机什么牌子好?性价比高的迷你洗衣机推荐
现在洗内衣内裤也是一件较麻烦的事情了,在清洗过程中还要用热水杀菌,还要确保洗衣液是否有冲洗干净,还要防止细菌的滋生等等,所以入手一款小型的烘洗全套的内衣洗衣机是非常有必要的,专门的内衣洗衣机可以最大程度减少…...
SIMULIA 2023 PowerFLOW 新功能介绍
PowerFLOW 2022仿真驱动设计 PowerFLOW2022重点关注MODSIM(MODeling and SIMulation)。新功能包括与3DEXPERIENCE平台上的CAD产品设计保持一致并从中无缝过渡,高度复杂的几何图形与间隙和孔的快速网格化以及过程自动化,初代 GPU求…...
智慧农业新篇章:拓世法宝AI智能直播一体机助力乡村振兴与农业可持续发展
随着乡村振兴战略的深入推进,农业发展日益成为国家关注的焦点。在这一大背景下,助农项目的兴起成为支持乡村振兴的一项重要举措。 乡村振兴战略的实施,得益于《关于推动文化产业赋能乡村振兴的意见》、《关于全面推进乡村振兴加快农业农村现…...
【数据结构】C语言实现栈
目录 前言 1. 栈 1.1 栈的概念 1.2 栈的结构 2. 栈的实现 2.1 栈的初始化 2.2 入栈 2.3 出栈 2.4 读取栈顶元素 2.5 判断栈空 2.6栈的销毁 3. 栈完整源代码 Stack.h Stack.c 🎈个人主页:库库的里昂 🎐C/C领域新星创作者 &…...
深入剖析AI大模型:大模型时代的 Prompt 工程全解析
今天聊的内容,我认为是AI开发里面非常重要的内容。它在AI开发里无处不在,当你对 AI 助手说 "用李白的风格写一首关于人工智能的诗",或者让翻译模型 "将这段合同翻译成商务日语" 时,输入的这句话就是 Prompt。…...
3.3.1_1 检错编码(奇偶校验码)
从这节课开始,我们会探讨数据链路层的差错控制功能,差错控制功能的主要目标是要发现并且解决一个帧内部的位错误,我们需要使用特殊的编码技术去发现帧内部的位错误,当我们发现位错误之后,通常来说有两种解决方案。第一…...
解锁数据库简洁之道:FastAPI与SQLModel实战指南
在构建现代Web应用程序时,与数据库的交互无疑是核心环节。虽然传统的数据库操作方式(如直接编写SQL语句与psycopg2交互)赋予了我们精细的控制权,但在面对日益复杂的业务逻辑和快速迭代的需求时,这种方式的开发效率和可…...
Opencv中的addweighted函数
一.addweighted函数作用 addweighted()是OpenCV库中用于图像处理的函数,主要功能是将两个输入图像(尺寸和类型相同)按照指定的权重进行加权叠加(图像融合),并添加一个标量值&#x…...
条件运算符
C中的三目运算符(也称条件运算符,英文:ternary operator)是一种简洁的条件选择语句,语法如下: 条件表达式 ? 表达式1 : 表达式2• 如果“条件表达式”为true,则整个表达式的结果为“表达式1”…...
第25节 Node.js 断言测试
Node.js的assert模块主要用于编写程序的单元测试时使用,通过断言可以提早发现和排查出错误。 稳定性: 5 - 锁定 这个模块可用于应用的单元测试,通过 require(assert) 可以使用这个模块。 assert.fail(actual, expected, message, operator) 使用参数…...
sqlserver 根据指定字符 解析拼接字符串
DECLARE LotNo NVARCHAR(50)A,B,C DECLARE xml XML ( SELECT <x> REPLACE(LotNo, ,, </x><x>) </x> ) DECLARE ErrorCode NVARCHAR(50) -- 提取 XML 中的值 SELECT value x.value(., VARCHAR(MAX))…...
第 86 场周赛:矩阵中的幻方、钥匙和房间、将数组拆分成斐波那契序列、猜猜这个单词
Q1、[中等] 矩阵中的幻方 1、题目描述 3 x 3 的幻方是一个填充有 从 1 到 9 的不同数字的 3 x 3 矩阵,其中每行,每列以及两条对角线上的各数之和都相等。 给定一个由整数组成的row x col 的 grid,其中有多少个 3 3 的 “幻方” 子矩阵&am…...
C++八股 —— 单例模式
文章目录 1. 基本概念2. 设计要点3. 实现方式4. 详解懒汉模式 1. 基本概念 线程安全(Thread Safety) 线程安全是指在多线程环境下,某个函数、类或代码片段能够被多个线程同时调用时,仍能保证数据的一致性和逻辑的正确性…...
【Java学习笔记】BigInteger 和 BigDecimal 类
BigInteger 和 BigDecimal 类 二者共有的常见方法 方法功能add加subtract减multiply乘divide除 注意点:传参类型必须是类对象 一、BigInteger 1. 作用:适合保存比较大的整型数 2. 使用说明 创建BigInteger对象 传入字符串 3. 代码示例 import j…...
