网站建设维护外包/教育培训机构招生方案

网站建设维护外包,教育培训机构招生方案,axure可以直接做网站,最全的搜索引擎docker:快速构建、运行、管理应用的工具,可以帮助我们下载应用镜像,创建并运行镜像的容器,从而快速部署应用 1、部署mysql 先停掉虚拟机中的MySQL,确保你的虚拟机已经安装Docker,且网络开通的情况下,执行下面命令即可安装MySQL(注意:若服务器上已经有mysql 占用了330…

docker:快速构建、运行、管理应用的工具,可以帮助我们下载应用镜像,创建并运行镜像的容器,从而快速部署应用

1、部署mysql

先停掉虚拟机中的MySQL,确保你的虚拟机已经安装Docker,且网络开通的情况下,执行下面命令即可安装MySQL(注意:若服务器上已经有mysql 占用了3306端口,可修改绑定服务器3307端口,如下)

docker run -d \--name mysql \-p 3307:3306 \          # 将主机端口从3306改为3307-e TZ=Asia/Shanghai \-e MYSQL_ROOT_PASSWORD=123 \mysql

运行完后,可以通过navicat 正常访问 

如果想要集群部署,只需修改`宿主机端口映射`和`容器名称`保证不同即可,因为容器之间环境是相互隔离的,所以都是3306不用变

# 如果想要集群部署只需修改docker容器内部的端口号和容器名称即可# 节点1
docker run -d \--name mysql \-p 3306:3306 \-e TZ=Asia/Shanghai \-e MYSQL_ROOT_PASSWORD=123 \mysql# 节点2
docker run -d \--name mysql2 \-p 3307:3306 \-e TZ=Asia/Shanghai \-e MYSQL_ROOT_PASSWORD=123 \mysql# 节点3
docker run -d \--name mysql3 \-p 3308:3306 \-e TZ=Asia/Shanghai \-e MYSQL_ROOT_PASSWORD=123 \mysql

大家可以发现,当我们执行命令后,Docker做的第一件事情,是去自动搜索并下载了MySQL,然后会自动运行MySQL,我们完全不用插手,非常方便。而且,这种安装方式完全不用考虑运行的操作系统环境问题,它不仅仅在CentOS系统是这样,在Ubuntu系统、macOS系统、甚至是装了WSL的Windows下,都可以使用这条命令来安装MySQL。

要知道,不同操作系统下其安装包、运行环境是都不相同的!如果是手动安装,必须手动解决安装包不同、环境不同的、配置不同的问题

2、镜像和容器

当我们利用Docker安装应用时,Docker会自动搜索并下载应用镜像(image)。

  • 镜像:不仅包含应用本身,还包含应用运行所需要的环境、配置、系统函数库
  • 容器:Docker会在运行镜像时创建一个隔离环境,称为容器(container)。
  • 镜像仓库:存储和管理镜像的平台,Docker官方维护了一个公共仓库:Docker Hub(目前国内已停止访问)。

 3、命令解读

docker run -d \--name mysql \-p 3307:3306 \-e TZ=Asia/Shanghai \-e MYSQL_ROOT_PASSWORD=123 \mysql

解读:

  • docker run -d:创建并运行一个容器,-d则是让容器以后台进程运行
  • --name mysql: 给容器起个名字叫mysql,你可以叫别的,要唯一
  • -p 3307:3306: 设置端口映射。格式: -p 宿主机端口:容器内端口,示例中将宿主机的3307映射到容器内的3306端口
  • -e TZ=Asia/Shanghai:配置容器内进程运行时的一些参数,此处是设置时区,格式:-e KEY=VALUE,KEY和VALUE都由容器内进程决定
  • -e MYSQL_ROOT_PASSWORD=123:是设置MySQL默认密码
  • mysql : 设置镜像名称,Docker会根据这个名字搜索并下载镜像,格式:REPOSITORY:TAG,例如mysql:8.0,其中REPOSITORY可以理解为镜像名,TAG是版本号,在未指定TAG的情况下,默认拉取最新版本镜像,也就是mysql:latest

容器是隔离环境,外界不可访问。但是可以将`宿主机端口`映射`容器内到端口`,当访问宿主机指定端口时,就是在访问容器内的端口了。
容器内端口往往是由容器内的进程决定,例如MySQL进程默认端口是3306,因此容器内端口一定是3306;而宿主机端口则可以任意指定,一般与容器内保持一致,但是这里为了防止与之前外部安装的MySQL的3306冲突,改为3307映射容器内的3306。

镜像的名称不是随意的,而是要到DockerRegistry中寻找,镜像运行时的配置也不是随意的,要参考镜像的帮助文档。

4、Docker基础

4.1、常见命令

Docker最常见的命令就是操作镜像、容器的命令,详见官方文档: https://docs.docker.com/

命令说明文档地址
docker pull拉取镜像docker pull
docker push推送镜像到DockerRegistrydocker push
docker images查看本地镜像docker images
docker rmi删除本地镜像docker rmi
docker run创建并运行容器(不能重复创建)docker run
docker stop停止指定容器docker stop
docker start启动指定容器docker start
docker restart重新启动容器docker restart
docker rm删除指定容器docker rm
docker ps查看容器docker ps
docker logs查看容器运行日志docker logs
docker exec进入容器docker exec
docker save保存镜像到本地压缩文件docker save
docker load加载本地压缩文件到镜像docker load
docker inspect查看容器详细信息docker inspect

补充:默认情况下,每次重启虚拟机我们都需要手动启动Docker和Docker中的容器。通过命令可以实现开机自启

# Docker开机自启
systemctl enable docker# Docker容器开机自启
docker update --restart=always [容器名/容器id]

5、部署Nginx容器

需求:

  • 在DockerHub中搜索Nginx镜像,查看镜像的名称
  • 拉取Nginx镜像
  • 查看本地镜像列表
  • 创建并运行Nginx容器
  • 查看容器
  • 停止容器
  • 再次启动容器
  • 进入Nginx容器
  • 删除容器
# 第1步,查看nginx镜像仓库及相关信息
docker search nginx# 第2步,拉取Nginx镜像
docker pull nginx# 第3步,查看镜像
docker images
# 结果如下:
REPOSITORY   TAG       IMAGE ID       CREATED         SIZE
nginx        latest    605c77e624dd   16 months ago   141MB
mysql        latest    3218b38490ce   17 months ago   516MB# 第4步,创建并允许Nginx容器
docker run -d --name nginx -p 80:80 nginx# 第5步,查看运行中容器
docker ps
# 也可以加格式化方式访问,格式会更加清爽
docker ps --format "table {{.ID}}\t{{.Image}}\t{{.Ports}}\t{{.Status}}\t{{.Names}}"# 查看容器日志:docker logs 容器名
docker logs nginx
# 持续或动态查看容器日志:docker logs -f 容器名
docker logs -f nginx# 第6步,访问网页,地址:http://虚拟机IP地址:80# 第7步,停止容器
docker stop nginx# 第8步,查看所有容器
docker ps -a --format "table {{.ID}}\t{{.Image}}\t{{.Ports}}\t{{.Status}}\t{{.Names}}"# 第9步,再次启动nginx容器
docker start nginx# 第10步,再次查看容器
docker ps --format "table {{.ID}}\t{{.Image}}\t{{.Ports}}\t{{.Status}}\t{{.Names}}"# 第11步,查看容器详细信息
docker inspect nginx# 第12步,进入容器,-it指的是可输入终端,查看容器内目录,输入exit 退出容器
docker exec -it nginx bash
# 或者,可以进入容器的同时跟上执行的命令,之间一步进入容器内的MySQL
docker exec -it mysql mysql -uroot -p# 将镜像打包下载到本地,.tar.gz是打压缩包
docker save -o nginx.tar nginx:latest# 第13步,删除容器
docker rm nginx
# 发现无法删除,因为容器运行中,强制删除容器
docker rm -f nginx
# 删除镜像
docker rmi nginx:latest# 将打包好的镜像加载到本地,不用再去docker pull 对应镜像了
docker load -i nginx.tar# 查看nginx镜像
docker images# 创建并允许Nginx容器
docker run -d --name nginx -p 80:80 nginx

 可通过下面命令进行格式化信息:

docker ps --format "table {{.ID}}\t{{.Image}}\t{{.Ports}}\t{{.Status}}\t{{.Names}}"

http://192.168.56.10/,通过这个地址可以访问nginx

 5.1、数据别名

给常用Docker命令起别名,方便我们访问:

# 修改/root/.bashrc文件
vim /root/.bashrc
内容如下:
# .bashrc# User specific aliases and functionsalias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
alias dps='docker ps --format "table {{.ID}}\t{{.Image}}\t{{.Ports}}\t{{.Status}}\t{{.Names}}"'
alias dis='docker images'# Source global definitions
if [ -f /etc/bashrc ]; then. /etc/bashrc
fi

# 修改/root/.bashrc文件 后,执行下面命令,使其生效
source ~/.bashrc

6、数据卷挂载

容器是隔离环境,容器内程序的文件、配置、运行时产生的容器都在容器内部,我们要读写容器内的文件非常不方便。大家思考几个问题:

  • 如果要升级MySQL版本,需要销毁旧容器,那么数据岂不是跟着被销毁了?
  • MySQL、Nginx容器运行后,如果我要修改其中的某些配置该怎么办?
  • 我想要让Nginx代理我的静态资源怎么办?

因此,容器提供程序的运行环境,但是程序运行产生的数据、程序运行依赖的配置都应该与容器解耦

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/74119.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Git团队开发命令总结

简易Git工作流 myname: 团队成员个人分支dev: 团队公共分支 个人独立分支开发 同步最新的【dev公共分支】到本地。【重要】基于最新的【dev公共分支】,创建【个人功能开发分支】。在此基础上开发。【个人功能开发分支】开发完成,推送到远程库。如果【…

python-leetcode 61.N皇后

题目: 按照国际象棋的规则,皇后可以攻击与之处在同一行或同一列或同一斜线上的棋子。 n 皇后问题 研究的是如何将 n 个皇后放置在 nn 的棋盘上,并且使皇后彼此之间不能相互攻击 给你一个整数 n ,返回所有不同的 n 皇后问题 的解…

Mybatis_Plus中的常用注解

目录 1、TableName TableId TableId的type属性 TableField 1、TableName 经过以上的测试,在使用MyBatis-Plus实现基本的CRUD时,我们并没有指定要操作的表,只是在 Mapper接口继承BaseMapper时,设置了泛型User,而操…

GitHub热门RAG框架:让大语言模型更智慧

检索增强生成(RAG):提升大型语言模型能力的全新思路 随着人工智能应用的不断深入发展,如何让大型语言模型(LLM)具备更强的上下文理解和实时响应能力成为了关键问题。检索增强生成(Retrieval-Augmented Generation,RAG)正是在这一背景下应运而生的技术,它巧妙地结合了…

HTTP协议讲解

概念: Hyper Text Transfer Protocol 超文本传输协议,规定了浏览器和服务器之间的数据传输规则 特点 基于TCP协议,面向连接,安全基于请求-响应模型的,一次请求对应一次响应无状态的,对于事物没有记忆能力…

全国节能宣传周线上知识竞赛

线上知识竞赛|节能降碳知识知多少 引言 全国节能宣传周举办的主题是“绿色低碳,节能先行”。国家节能中心会同相关单位共同打造了一款线上知识竞赛小程序,学习节能知识,争做节能达人。 1.小程序规则: 体力规则:每位…

【区块链安全 | 第十八篇】类型之引用类型(二)

文章目录 引用类型数组切片结构体 引用类型 数组切片 数组切片是对数组中连续部分的一个视图。它的语法为 x[start:end],其中 start 和 end 是表达式,结果类型为 uint256(或者可以隐式转换为 uint256)。切片的第一个元素是 x[st…

项目实战 - 用户列表

用户列表想要实现这样的效果: 渲染数据: import React,{useState,useEffect} from react; import { Button,Table, Tag,Modal,Popover, Switch } from antd; import { EditOutlined,DeleteOutlined,ExclamationCircleOutlined } from ant-design/icons…

吾爱破解安卓逆向学习笔记(4p)

学习目标,了解安卓四大组件,activity生命周期,同时了解去除部分广告和更新提示。 广告类型 1.启动页广告 2.更新广告 3.横幅广告 安卓四大组件 组件描述Activity(活动)在应用中的一个Activity可以用来表示一个界面,意思可以…

【目标检测】【深度学习】【Pytorch版本】YOLOV1模型算法详解

【目标检测】【深度学习】【Pytorch版本】YOLOV1模型算法详解 文章目录 【目标检测】【深度学习】【Pytorch版本】YOLOV1模型算法详解前言YOLOV1的模型结构YOLOV1模型的基本执行流程YOLOV1模型的网络参数YOLOV1模型的训练方式 YOLOV1的核心思想前向传播阶段网格单元(grid cell)…

Vue项目中Vuex在util引入,断点存在default

示例代码 // src/store/index.js import Vue from vue; import Vuex from vuex; ……Vue.use(Vuex); export default new Vuex.Store({…… })// src/utils/index.js import store from /store // 导入默认导出的 store export async function getDict() {store.state.userInf…

FALL靶机渗透实战:从信息收集到特权升级的完整链分析

1.下载靶机,并在虚拟机中打开 2.用kali来确定该靶机的IP kali的IP:192.168.139.152 arp-scan -l 3.扫描端口 nmap -O 192.168.139.172 4.扫目录 gobuster dir -u http://192.168.139.172 -x php,txt,html -w /usr/share/dirbuster/wordlists/directo…

力扣HOT100之矩阵:54. 螺旋矩阵

这道题之前在代码随想录里刷过类似的,还有印象,我就按照当初代码随想录的思路做了一下,结果怎么都做不对,因为按照代码随想录的边界条件设置,当行数和列数都为奇数时,最后一个元素无法被添加到数组中&#…

快速构建个人本地知识库管理系统与实现RAG问答

文章目录 摘要一、RAG 和知识库简介1、RAG2、知识库 二、 工作流程三、系统架构设计文件结构知识库构建模块RAG 模块用户交互模块 四、技术实现细节五、系统使用案例结论未来改进方向致谢 摘要 在当今信息爆炸的时代,快速准确地获取知识变得尤为重要。本地 RAG&…

使用DeepSeek API进行情感分析:超简单

文章目录 1. 引言1.1 情感分析概述1.2 为什么选择DeepSeek API1.3 本文目标 2. 技术方案对比2.1 传统情感分析方法2.2 基于LLM的方法DeepSeek API优势 3. DeepSeek 情感分析实战3.1 Few-shot Learning方法3.2 完整的DeepSeek API调用示例3.3 案例演示 4. DeepSeek开发情感分析工…

设置网站主题色color-scheme

color-scheme color-scheme CSS 属性允许元素指示它可以舒适地呈现哪些颜色方案。 操作系统颜色方案的常见选择为“亮色”和“暗色”,或“日间模式”和“夜间模式”。当用户选择其中一种颜色方案时,操作系统会对用户界面进行调整,包括表单控件…

Muduo网络库实现 [三] - Socket模块

目录 设计思路 类的设计 模块的实现 基础模块 特殊模块 集成模块 主函数 主函数实现 主函数测试 疑惑点 设计思路 Socket模块主要是对套接字的基础操作进行封装,简化我们对套接字的操作,不需要调用C的原生接口,而是以面向对象的…

优选算法的巧思之径:模拟专题

专栏:算法的魔法世界 个人主页:手握风云 目录 一、模拟 二、例题讲解 2.1. 替换所有的问号 2.2. 提莫攻击 2.3. Z字形变换 2.4. 外观数列 2.5. 数青蛙 一、模拟 模拟算法说简单点就是照葫芦画瓢,现在草稿纸上模拟一遍算法过程&#xf…

A股复权计算_权息数据整理

目录 前置: 步骤: 1 以通达信为参照 2 从优矿获取所需数据 2.1 股票配股信息 2.2 股票分红信息 2.3 股票拆股信息 3 合并数据,制成权息数据表 权息数据截止20250329.7z 视频 前置: 1 本系列将以 “A股复权计算_” 开头…

学习笔记—数据结构—二叉树(链式)

目录 二叉树(链式) 概念 结构 初始化 遍历 前序遍历 中序遍历 后序遍历 层序遍历 结点个数 叶子结点个数 第k层结点个数 深度/高度 查找值为x的结点 销毁 判断是否为完整二叉树 总结 头文件Tree.h Tree.c 测试文件test.c 补充文件Qu…