容器化平台Docker初识
Docker 是一个容器化平台,可以让你打包、分发和运行应用程序。它的核心思想是通过容器技术,让应用程序在任何环境下都能以一致的方式运行。
通俗易懂的理解
-
快餐盒的比喻:
- 假设你做了一顿饭(开发了一个应用程序),而朋友在另一个城市想吃到完全一样的饭。
- 传统方式:告诉朋友所需的食材和步骤(在新环境安装依赖和配置)。
- Docker 的方式:你把饭装进一个快餐盒(容器),朋友收到后直接吃(运行),不需要准备任何材料。
-
开发环境的统一:
- 在你的电脑上运行的代码,可能在别人的电脑或服务器上跑不起来,因为环境不同。
- Docker 打包了代码和环境配置,确保无论在哪里运行,结果都是一样的。
Docker 的主要使用场景
- 开发环境统一: 开发、测试和生产环境保持一致。
- 部署简单: 应用程序以容器形式打包,一键部署到任何支持 Docker 的平台。
- 快速启动: 容器启动比虚拟机快得多。
- 资源隔离: 每个容器都是独立的,互不干扰。
使用 Vue 项目部署来举例
假设我们有一个 Vue 项目,想用 Docker 部署到服务器上。
1. 安装 Docker
- Linux(以 Ubuntu 为例):
sudo apt update sudo apt install docker.io -y sudo systemctl start docker sudo systemctl enable docker
- Windows/Mac:
下载 Docker Desktop,安装并启动。
验证安装:
docker --version
2. 准备 Vue 项目
- 确保 Vue 项目已经构建完成(生成静态文件)。
npm run build
- 构建后会生成一个
dist
目录,里面是要部署的静态文件。
3. 创建 Dockerfile
在项目根目录创建一个名为 Dockerfile
的文件,内容如下:
# 使用官方 Nginx 镜像作为基础镜像
FROM nginx:stable-alpine# 把本地的 dist 文件夹复制到 Nginx 的静态文件目录
COPY dist/ /usr/share/nginx/html# 暴露端口号 80
EXPOSE 80# 启动 Nginx
CMD ["nginx", "-g", "daemon off;"]
4. 构建 Docker 镜像
在项目根目录运行以下命令:
docker build -t vue-app .
说明:
-t vue-app
是给镜像取名字。.
表示当前目录。
5. 启动容器
使用刚创建的镜像运行容器:
docker run -d -p 8080:80 --name vue-container vue-app
说明:
-d
:后台运行。-p 8080:80
:将本地 8080 端口映射到容器的 80 端口。--name vue-container
:给容器取名。
打开浏览器访问 http://localhost:8080,你应该能看到 Vue 应用。
6. 停止和删除容器
停止运行的容器:
docker stop vue-container
删除容器:
docker rm vue-container
Docker 使用的完整流程总结
- 安装 Docker
- 准备应用程序代码(比如构建 Vue 项目)。
- 创建 Dockerfile(定义如何构建容器镜像)。
- 构建镜像(把应用打包成 Docker 镜像)。
- 运行容器(启动应用)。
- 管理容器(停止、删除、更新)。
通过 Docker 部署 Vue 项目,你可以快速实现“打包一次,到处运行”的目标,大大简化了部署流程,并提升了开发效率。
相关文章:
容器化平台Docker初识
Docker 是一个容器化平台,可以让你打包、分发和运行应用程序。它的核心思想是通过容器技术,让应用程序在任何环境下都能以一致的方式运行。 通俗易懂的理解 快餐盒的比喻: 假设你做了一顿饭(开发了一个应用程序)&#…...

【C语言程序设计——选择结构程序设计】预测你的身高(头歌实践教学平台习题)【合集】
目录😋 任务描述 相关知识 1、输入数值 2、选择结构语句 3、计算结果并输出 编程要求 测试说明 通关代码 测试结果 任务描述 本关任务:编写一个程序,该程序需输入个人数据,进而预测其成年后的身高。 相关知识 为了完成本…...
简单两步使用ssh配置内网穿透
解决问题:内网主机没有公网IP,无法从外网登录 流程 首先去阿里云租一台最便宜的服务器作为中转服务器 登录中转服务器(cloudserver) ssh [cloudserver] # 开放对应中转服务 ufw allow [remote_port] #remote_port 2222 vim /etc/ssh/sshd_config将对…...
M系列芯片切换镜像源并安装 openJDK17
1. 查找openjdk版本 执行:brew search openjdk,注意:执行命令后,如果得到的结果中没有红框内容,则需要更新一下 brew 更新 brew 分别执行以下命令: cd "$(brew --repo)" export HOMEBREW_API_D…...

图像处理-Ch6-彩色图像处理
Ch6 彩色图像处理 无广告更易阅读,个人博客点此进入<– 文章目录 Ch6 彩色图像处理彩色基础彩色模型(Color models)RGB(red, green, blue)CMY & CMYK(cyan, magenta, yellow/and black)HSI(hue, saturation, intensity)HSV(hue, saturation, value) 颜色空…...

Redis可视化工具 RDM mac安装使用
第一步:https://pan.baidu.com/s/10vpdhw7YfDD7G4yZCGtqQg?at1673701651004将dmg下载 第二部:点击下载的dmg文件进行安装、mac可能会提示: 无法验证此App不包含恶意软件 解决方法: 打开系统偏好设置>安全性与隐私>通用&am…...

单元测试/系统测试/集成测试知识总结
🍅 点击文末小卡片,免费获取软件测试全套资料,资料在手,涨薪更快 一、单元测试的概念 单元测试是对软件基本组成单元进行的测试,如函数或一个类的方法。当然这里的基本单元不仅仅指的是一个函数或者方法࿰…...

多目标应用(一):多目标麋鹿优化算法(MOEHO)求解10个工程应用,提供完整MATLAB代码
一、麋鹿优化算法 麋鹿优化算法(Elephant Herding Optimization,EHO)是2024年提出的一种启发式优化算法,该算法的灵感来源于麋鹿群的繁殖过程,包括发情期和产犊期。在发情期,麋鹿群根据公麋鹿之间的争斗分…...
机器学习和深度学习中的种子设置
一、常见的随机数生成器及其对应的设置方法: Python内置的随机数生成器: import random random.seed(manual_seed)NumPy的随机数生成器: import numpy as np np.random.seed(manual_seed)PyTorch的随机数生成器: import torch tor…...

[手机Linux] 七,NextCloud优化设置
安装完成后在个人设置里发现很多警告,一一消除。 只能一条一条解决了。 关于您的设置有一些错误。 1,PHP 内存限制低于建议值 512 MB。 设置php配置文件: /usr/local/php/etc/php.ini 把里面的: memory_limit 128M 根据你自…...

Ruby+Selenium教程
什么是 Minitest? Minitest 是 Ruby 的测试框架,提供一整套测试工具。它运行速度快,支持 TDD、BDD、模拟和基准测试 以下是使用Ruby、Selenium WebDriver和Minitest 的脚本,用于断言 Restful Booker Platform 的“页面标题”等于…...

【论文阅读笔记】Learning to sample
Learning to sample 前沿引言方法问题声明S-NET匹配ProgressiveNet: sampling as ordering 实验分类检索重建 结论附录 前沿 这是一篇比较经典的基于深度学习的点云下采样方法 核心创新点: 首次提出了一种学习驱动的、任务特定的点云采样方法引入了两种采样网络&…...
边缘计算收益稳定
要使自己的PCDN(Personal Content Delivery Network,个人内容分发网络)收益更稳定,可以从以下几个方面进行努力: 一、选择合适的PCDN平台 平台稳定性:选择技术成熟、稳定性高的PCDN平台,确保内…...
域名和服务器是什么?域名和服务器是什么关系?
在互联网的生态系统中,域名和服务器是两个至关重要的组成部分。它们共同构成了我们访问网站和使用在线服务的基础。那么域名和服务器是什么?域名和服务器是什么关系? 1、域名的概念 域名是互联网中用于标识特定地址的一种文字形式。它是用户访问网站时输入的易记…...
IBatis和MyBatis在细节上的不同有哪些
iBatis 和 MyBatis 都是流行的 Java 持久化框架,用于简化数据库交互。MyBatis 是从 iBatis 演化而来,MyBatis 在 iBatis 的基础上做了很多改进和优化,因此两者在设计和功能上存在一些差异。以下是它们在细节上的主要区别: 1. 框架…...

使用Python获取PDF文本和图片的精确位置
在处理和分析PDF文档时,获取文本和图片在页面上的精确位置是一个重要的操作。通过确定这些元素的具体坐标,我们可以实现对PDF内容的更精细控制和理解,这对于自动化文档处理、信息提取以及内容重组等工作流程尤为关键。通过Python编程语言&…...
【AI日记】24.12.25 kaggle 比赛 2-13
【AI论文解读】【AI知识点】【AI小项目】【AI战略思考】【AI日记】 工作 参加:kaggle 比赛 Regression with an Insurance Dataset时间:8 小时 读书 书名:我们能做什么 : 胡适与中国青年最真诚的分享时间:1.5 小时 律己 工作…...
【网络安全】用 Frida 修改软件为你所用
用 Frida 修改软件为你所用 Frida是一个强大的设备操作工具,它允许我们分析、修改和与运行中的应用程序交互。Frida通过在目标进程中创建一个线程,并通过这个线程执行一些启动代码来实现交互功能。这种交互被称为“代理”,它允许我们添加Jav…...

《信管通低代码信息管理系统开发平台》Windows环境安装说明
1 简介 《信管通低代码信息管理系统应用平台》提供多环境软件产品开发服务,包括单机、局域网和互联网。我们专注于适用国产硬件和操作系统应用软件开发应用。为事业单位和企业提供行业软件定制开发,满足其独特需求。无论是简单的应用还是复杂的系统&…...

使用强化学习与遗传算法优化3D低空物流路径_版本2
在快速发展的物流与自主系统领域,优化无人机在三维空间中的飞行路径至关重要。无论是在城市环境中导航还是在复杂地形中穿行,确保高效、安全且节能的航线规划能够显著提升运营效率。本文将深入探讨一种创新方法,结合强化学习(Rein…...
实现安卓端与苹果端互通的方案多种多样,以下是一些主要的方案
一、使用跨平台开发框架 1.React Native:通过React Native,开发者可以利用React.js的强大生态系统来构建原生移动应用。该框架允许使用相同的代码库在Android和iOS上开发应用,从而节省时间和成本。它支持热重载功能,使得开发者在…...

大数据量下的数据修复与回写Spark on Hive 的大数据量主键冲突排查:COUNT(DISTINCT) 的陷阱
背景与问题概述 这一周(2025-05-26-2026-05-30)我在搞数据拟合修复优化的任务,有大量的数据需要进行数据处理及回写,大概一个表一天一分区有五六千万数据,大约一百多列的字段。 具体是这样的我先取档案&#x…...

PH热榜 | 2025-05-29
1. Tapflow 2.0 标语:将你的文档转化为可销售的指导手册、操作手册和工作流程。 介绍:Tapflow 2.0将各类知识(包括人工智能、设计、开发、营销等)转化为有条理且可销售的产品。现在你可以导入文件,让人工智能快速为你…...

Linux——数据链路层
1. 认识以太网 认知:以太网是用于局域网数据通信的协议标准,定义了同一局域网内通过电缆/无线怎么在设备之间传输数据帧。 注:整个网络世界可以具象看出由许许多多的局域网组成, • 家庭中的设备A and 家庭中的设备B and 家庭路由…...

Flutter3.22适配运行鸿蒙系统问题记录
Flutter3.22适配运行鸿蒙系统问题记录 一:适配条件适配过程问题记录(1)环境配置问题(2)Concurrent modification during iteration: Instance(length:2) of_GrowableList 报错(3)三方插件寻找替…...

Windows系统安装MySQL Connector 使用C++ VS2022连接MySQL
1. 官网及版本 1.1. 网址 官方文档 - 安装编译构建: https://dev.mysql.com/doc/connector-cpp/9.3/en/ 官方文档 - 使用案例: https://dev.mysql.com/doc/dev/connector-cpp/latest/ 下载地址: https://dev.mysql.com/downloads/connector/…...

低代码——表单生成器以form-generator为例
主要执行流程说明: 初始化阶段 : 接收表单配置对象formConf深拷贝配置,初始化表单数据和验证规则处理每个表单组件的默认值和特殊配置(如文件上传) 渲染阶段 : 通过render函数创建el-form根组件递归渲染表…...

谷歌浏览器Google Chrome v137.0.7151.41 中文版本版+插件 v1.11.1
一、软件介绍 这个版本解压就可以用,界面是中文的。 保留了核心功能, 二、软件特点 便携性 :解压即可使用,不想用了直接删掉整个文件夹。 增强功能 :通过Chrome增强软件劫持补丁chromev1.11.1 x64 (version.dll)实现多…...
View的工作流程——measure
1.DecorView被加载到Window当中 调用Activity的startActivity方法的时候,最终调用的是ActivityThread的handleLaunchActivity方法来创建Activity。 onResume方法也是在ActivityThread中的handleResumeActivity方法中被调用的,我们之前提到的DecorView就…...
nova14 ultra,是如何防住80°C热水和10000KPa水压冲击的?
暴雨突袭,手忙脚乱护住背包,却担心手机被雨水浸湿;泳池里想记录美好时刻,却担心手机掉入水中 ;厨房里充满了高温水汽,近距离拍摄美食瞬间,手机屏幕花屏,让人失去了对美食的兴趣…… …...