当前位置: 首页 > news >正文

Docker 环境搭建与三大数据库(MySQL/Redis/MongoDB)部署教程

Docker 环境搭建与三大数据库(MySQL/Redis/MongoDB)部署教程

  • 一、简介
  • 二、安装wsl
  • 三、wsl磁盘迁移
  • 四、wsl磁盘压缩
  • 五、Docker下载
  • 六、win11配置docker虚拟环境命令工具
  • 七、Docker部署mysql
  • 八、Docker部署redis
  • 九、Docker部署mongo

一、简介

Docker 是一个开源的容器化平台,它可以帮助开发者打包、分发和运行应用程序以及其依赖项。通过使用 Docker,开发者可以将应用程序及其环境打包成一个称为容器的独立单元,使应用程序在不同的环境中具备一致的运行行为。
优点:
1.轻量和快速启动:Docker 容器与传统虚拟机相比,更加轻量级,因为它们共享主机操作系统的内核。这使得容器的启动和停止速度更快,可以在几秒钟内完成。
2.环境一致性:Docker 容器包含了应用程序及其所有的依赖项,包括操作系统、库文件和其他软件。这意味着你可以在任何支持 Docker 的环境中运行容器,而不用担心环境差异导致的应用程序运行问题。
3.可移植性:Docker 容器可以在不同的平台和操作系统上运行,包括开发环境、测试环境和生产环境。这使得应用程序的部署和迁移更加简单和可靠。
4.资源隔离:Docker 使用 Linux 内核的容器技术,可以实现对容器之间的资源隔离,如 CPU、内存和网络。这样可以避免容器之间的相互干扰,提高应用程序的稳定性和安全性。
5.可扩展性:Docker 容器可以根据需求进行水平扩展,即通过运行多个相同的容器来处理更大的工作负载。这种扩展性使得应用程序可以更好地适应变化的流量需求。
缺点:
1.学习曲线:对于初学者来说,理解和学习 Docker 的概念和工作原理可能需要一些时间和努力。尤其是对于那些没有太多系统管理经验的开发者来说,可能需要额外的学习成本。
2.存储占用:每个 Docker 容器都需要包含完整的文件系统和应用程序依赖项,这可能导致存储占用较大。尤其是当需要运行大量容器时,需要考虑存储资源的管理和优化。
3.安全性:虽然 Docker 提供了一些安全机制来隔离容器,但不正确的配置和使用可能导致容器之间的安全漏洞。因此,需要注意安全最佳实践,并进行适当的安全配置和监控。
4.网络配置复杂性:在多个容器之间建立网络通信可能需要一些配置和管理。特别是在涉及跨主机通信或多个容器之间的复杂网络拓扑时,需要仔细规划和配置网络。

二、安装wsl

1.搜索开发者设置值,打开开发人员模式
在这里插入图片描述
2.搜索启用或关闭windows功能。选择“适用于Linux的windows子系统、window虚拟机监控程序平台”,点击确定

在这里插入图片描述
3.另起个窗口,运行wsl --version,显示版本号则安装成功
在这里插入图片描述
4.管理员身份打开命令行工具,运行wsl --install,官方文档:https://learn.microsoft.com/zh-cn/windows/wsl/install
在这里插入图片描述
5.微软商店搜索Ubuntu,需要虚拟机的安装Ubuntu,可不安装,安装docker时docker会有自己的磁盘
在这里插入图片描述
6.启动Ubuntu,设置用户名和密码
在这里插入图片描述
7.wsl基本命令

  • wsl --install:安装 WSL 和 Linux 的默认 Ubuntu 发行版
  • wsl --set-version :设置WSL 版本, 为Linux发行版的名称, 为 1 或 2
  • wsl --set-default-version :设置默认 WSL 版本
  • wsl --list --verbose:列出已安装的 Linux 发行版
  • wsl --list --online:列出可用的 Linux 发行版
  • wsl --set-default :设置默认 Linux 发行版
  • wsl --unregister :注销或卸载 Linux 发行版
  • wsl ~:将目录更改为主页
  • wsl --update:更新 WSL
  • wsl --status:检查 WSL 状态
  • wsl --version:检查 WSL 版本
  • wsl --help:帮助命令
  • wsl --user :以特定用户的身份运行,若要以指定用户身份运行 WSL,将 替换为 WSL 发行版中存在的用户名。
  • config --default-user :更改发行版的默认用户
  • wsl --shutdown:立即终止所有正在运行的发行版和 WSL 2 轻量级实用工具虚拟机
  • wsl --terminate :终止指定的发行版或阻止其运行
  • wsl hostname -I:返回通过 WSL 2 安装的 Linux 发行版 IP 地址(WSL 2 VM 地址)
  • ip route show | grep -i default | awk ‘{ print $3}’:返回从 WSL 2 (WSL 2 VM) 看到的 Windows 计算机的 IP 地址
  • wsl --export :导出分发版
  • wsl --import :导入分发版
  • wsl --import-in-place :将指定的 .vhdx 文件导入为新的发行版。 虚拟硬盘必须采用 ext4 文件系统类型格式
  • wsl --unregister :注销并卸载 WSL 发行版
  • wsl --mount :装载磁盘或设备
  • wsl --unmount :卸载磁盘

三、wsl磁盘迁移

1.管理员运行命令行工具,运行命令:wsl --shutdown,关闭所有虚拟机
在这里插入图片描述
2.运行wsl -l -v查看虚拟机名称
在这里插入图片描述
3.运行wsl --export Ubuntu-24.04 F:\WSL2Ubuntu24.04.bak,导出Ubuntu-24.04文件,Ubuntu-24.04为wsl -l -v查看的虚拟机名称
在这里插入图片描述
4.运行wsl --unregister Ubuntu-24.04注销原来的虚拟机
在这里插入图片描述
5.运行wsl --import Ubuntu-24.04 F:\wsl F:\WSL2

http://www.xdnf.cn/news/686197.html

相关文章:

  • 探索C++标准模板库(STL):String接口实践+底层的模拟实现(中篇)
  • 0527漏洞原理:XSS笔记
  • 《深入解析UART协议及其硬件实现》-- 第二篇:UART硬件架构设计与FPGA实现
  • pikachu靶场通关笔记05 XSS关卡01-反射型GET
  • WPS自动换行
  • Rust 学习笔记:循环和迭代器的性能比较
  • Windows下安装并使用kubectl查看K8S日志
  • 可视化提示词(Prompt)在训练过程中的优化过程:visualize_prompt_evolution
  • AI 产品的 MVP 构建逻辑:Prompt 工程 ≠ 产品工程?
  • 【Prompt Engineering】摸索出的一些小套路
  • 弱光环境下如何手持相机拍摄静物:摄影曝光之等效曝光认知
  • 【Android笔记】记一次 CMake 构建 Filament Android 库的完整排错过程(安卓交叉编译、CMake、Ninja)
  • GC1267F:单相全波风扇电机预驱动芯片解析
  • 如何发布npm包?
  • 国标GB28181视频平台EasyGBS视频实时监控:打造城市环境监控全场景解决方案
  • LeetCode 1871. 跳跃游戏 VII(中等)
  • EasyRTC嵌入式音视频实时通话SDK助力AI与IoT智能硬件打造音视频交互多场景应用
  • 力扣热题100之二叉树的中序遍历
  • 【掌握文件操作】(下):文件的顺序读写、文件的随机读写、文件读取结束的判定、文件缓冲区
  • 【开源工具】跳过网页APP禁止粘贴限制:自动输入键盘模拟工具
  • day12 leetcode-hot100-21(矩阵4)
  • MySQL XtraBackup---笔记
  • 初识Docker:容器化技术的入门指南
  • 关于JavaScript、TypeScript Module的配置和用法
  • Vue 3.0 状态管理Pinia详解
  • JWT安全:接收无签名令牌.【签名算法设置为none绕过验证】
  • 生成式AI与AI代理:技术、应用与未来
  • 《仿盒马》app开发技术分享-- 订单地址修改(端云一体)
  • 全局代理从局域到全域的网络升级
  • 华为AP6050DN无线接入点瘦模式转胖模式