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

[Docker精进篇] Docker部署和实践 (二)

前言:

Docker部署是通过使用Docker容器技术,将应用程序及其所有相关依赖项打包为一个可移植、自包含的镜像,然后在任何支持Docker的环境中快速部署和运行应用程序的过程。

在这里插入图片描述

文章目录

  • Docker部署
    • 1️⃣为什么需要?
    • 2️⃣有什么作用?
    • 3️⃣docker部署(以mysql和redis为例)
      • 部署mysql和映射
      • 部署redis和映射
    • 4️⃣总结

这篇文章是我的笔记,旨在带您快速入门上手docker,更加深入学习docker知识

Docker部署

做事三件套:是什么,为什么,怎么办 我们一步一步来看,哈哈

Docker部署是指利用Docker容器技术将应用程序及其依赖项打包成一个可移植、自包含的镜像,并在不同的环境中进行快速部署和运行的过程。

在这里插入图片描述

1️⃣为什么需要?

  1. 环境一致性:传统部署中,应用程序在不同环境中可能遇到依赖不一致、配置不一致等问题。而使用Docker部署,可以将所有依赖项打包到镜像中,保证了应用程序在不同环境中的一致性。

  2. 快速部署和扩展:Docker容器可以在几秒钟内快速部署和启动,使得应用程序的部署过程变得更加简单和高效。此外,可以根据负载需求,快速地进行水平扩展,以提供更好的性能和可伸缩性。

  3. 资源利用率:Docker容器利用了宿主机的资源管理功能,可以更高效地利用系统资源。容器可以在隔离的环境中运行,并共享宿主机的资源,最大限度地提高资源利用率。

  4. 隔离性和安全性:Docker容器提供了隔离的运行环境,使得应用程序与宿主机和其他容器相互隔离。这种隔离性增强了应用程序的安全性,不同容器之间相互独立,互不干扰。

  5. 快速开发和部署:通过使用Docker容器,可以在本地开发环境中构建和测试应用程序,并且可以使用相同的容器镜像将应用程序轻松部署到其他环境,既可以加快开发迭代周期,又减少开发与运维之间的协调与沟通成本。

2️⃣有什么作用?

看完了为什么需要使用docker,再来简单了解一下在docker部署能带来的优点吧。
反正就是docker要用起来,哈哈哈
Docker部署的作用:

  1. 简化交付流程:Docker部署可以将应用程序及其依赖项打包成一个可移植的镜像,简化了应用程序的交付和部署过程。

  2. 提高可移植性:Docker容器可以在不同的平台和环境中运行,提供了高度的可移植性。这意味着可以将应用程序轻松地部署到各种云平台、物理机或虚拟机中。

  3. 提供一致的运行环境:通过Docker部署,可以确保应用程序在不同环境中以相同的方式运行,减少了因环境差异引起的问题。

  4. 提高开发和运维效率:Docker提供了一种标准化的部署方式,简化了开发与运维团队之间的协作。开发人员可以在容器中构建和测试应用程序,而运维人员可以使用相同的容器镜像进行部署和维护,从而提高了开发和运维效率。

3️⃣docker部署(以mysql和redis为例)

其实docker部署非常简单,你只要花费极少的时间去真正学会使用,你会发现是真的方便呀。
docker部署分为win和linux上的,我这里linux上的,道理都差不多,哈哈

部署mysql和映射

在这里插入图片描述

  1. 拉取镜像
docker pull mysql:5.7(可以替换为你需要的版本)
  1. 创建镜像容器
docker run -id \
-p 3307:3306 \
--name=c_mysql \
-v /mnt/docker/mysql/conf:/etc/mysql/conf.d \
-v /mnt/docker/mysql/logs:/logs \
-v /mnt/docker/mysql/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=root \
mysql:5.7

大家看着这一串别害怕,我来详细讲解一下:

这段代码是根据mysql:5.7 版本镜像进行容器构建,容器名字是mysql,同时设置了容器的root用户密码是root,以及挂在了三个数据卷。同时设置虚拟机3307端口和容器3306端口映射,即本地连接虚拟机3307接口即可完成mysql配置,你构建之后还会发现并没有进去容器内部,因为-d 是开启守护容器进行,默认开启不进入

其中的 -v 后端跟的参数是 设置数据卷,

docker run -di -v /宿主机目录:/容器目录 

设置数据卷,进行数据的双向绑定,如果虚拟机数据丢失本地还有,同时修改本机数据,虚拟机那边的数据也会改变

  1. 进入容器
docker exec -it mysql(这个是你的容器名,上面是mysql)
  1. 开启mysql
    进入容器后,输入命令开启mysql
service start mysql  如果你的容器没开启mysql服务,需要开一下
mysql -uroot -p 
密码是root

即可完虚拟机中的配置。

  1. 本地映射端口号
    在这里插入图片描述

部署redis和映射

上面我们配置完了mysql,接下来部署redis

在这里插入图片描述

  1. 拉取镜像
ocker pull redis(可以替换为你需要的版本)
  1. 创建镜像容器
docker run -di --name redis -p 6379:6379 redis

这段代码是根据最新版redis 进行容器构建,容器名字是redis,同时端口映射,虚拟机6379:容器6379,你构建之后还会发现并没有进去容器内部,因为-d 是开启守护容器进行,默认开启不进入

  1. 进入容器
docker exec -it redis(这个是你的容器名,上面是mysql)
  1. 开启redis
    进入容器后,输入命令开启redis
redis-server

即可完虚拟机中的配置。

  1. 本地映射端口号

在这里插入图片描述

4️⃣总结

在这里插入图片描述

Docker部署提供了一种可靠、高效、一致和可移植的方式来打包、部署和运行应用程序。它简化了应用程序的交付和部署流程,提高了部署的可靠性、可移植性和可维护性,同时提升了开发与运维团队的效率。

如果您在学习过程中有什么疑问或者不懂的地方,可以随时私信我,看到会及时回复!!

相关文章:

[Docker精进篇] Docker部署和实践 (二)

前言: Docker部署是通过使用Docker容器技术,将应用程序及其所有相关依赖项打包为一个可移植、自包含的镜像,然后在任何支持Docker的环境中快速部署和运行应用程序的过程。 文章目录 Docker部署1️⃣为什么需要?2️⃣有什么作用&am…...

day9 | 28. 实现 strStr()、459.重复的子字符串

目录: 解题及思路学习 28. 实现 strStr() https://leetcode.cn/problems/find-the-index-of-the-first-occurrence-in-a-string/ 给你两个字符串 haystack 和 needle ,请你在 haystack 字符串中找出 needle 字符串的第一个匹配项的下标(下…...

hive on tez资源控制

sql insert overwrite table dwintdata.dw_f_da_enterprise2 select * from dwintdata.dw_f_da_enterprise; hdfs文件大小数量展示 注意这里文件数有17个 共计321M 最后是划分为了21个task 为什么会有21个task?不是128M 64M 或者说我这里小于128 每个文件一个map…...

企业有VR全景拍摄的需求吗?能带来哪些好处?

在传统图文和平面视频逐渐疲软的当下,企业商家如何做才能让远在千里之外的客户更深入、更直接的详细了解企业品牌和实力呢?千篇一律的纸质材料已经过时了,即使制作的再精美,大家也会审美疲劳;但是你让客户远隔千里&…...

【问题解决】Git命令行常见error及其解决方法

以下是我一段时间没有使用xshell,然后用git命令行遇到的一些系列错误和他们的解决方法 遇到了这个报错: fatal: Not a git repository (or any of the parent directories): .git 我查阅一些博客和资料,可以解决的方式: git in…...

【100天精通python】Day34:使用python操作数据库_ORM(SQLAlchemy)使用

目录 专栏导读 1 ORM 概述 2 SQLAlchemy 概述 3 ORM:SQLAlchemy使用 3.1 安装SQLAlchemy: 3.2 定义数据库模型类: 3.3 创建数据表: 3.4 插入数据: 3.5 查询数据: 3.6 更新数据: 3.7 删…...

CCLINK IE转MODBUS-TCP网关modbus tcp协议详解

你是否曾经遇到过需要同时处理CCLINK IE FIELD BASIC和MODBUS两种数据协议的情况?捷米的JM-CCLKIE-TCP网关可以帮助你解决这个问题。 捷米JM-CCLKIE-TCP网关可以分别从CCLINK IE FIELD BASIC一侧和MODBUS一侧读写数据,然后将数据存入各自的缓冲区。接着…...

vue2根据不同的电脑分辨率显示页面内容及不同设备适配显示

1.安装插件: npm install postcss-px2rem px2rem-loader --save npm i lib-flexible --save 2.创建flexible.js,并在main.js引用 ;(function(win, lib) {var doc = win.document;var docEl = doc.documentElement;var metaEl = doc.querySelector(meta[name="viewport&…...

概率论:多维随机变量及分布

多维随机变量及分布 X X X为随机变量, ∀ x ∈ R , P { X ≤ x } F ( x ) \forall x\in R,P\{X\le x\}F(x) ∀x∈R,P{X≤x}F(x) 设 F ( x ) F(x) F(x)为 X X X的分布函数,则 (1) 0 ≤ F ( x ) ≤ 1 0\le F(x)\le1 0≤F(x)≤1 &am…...

flutter-第三方组件

卡片折叠 stacked_card_carousel 扫一扫组件 qr_code_scanner 权限处理组件 permission_handler 生成二维码组件 pretty_qr_code 角标组件 badges 动画组件 animations app更新 app_installer 带缓存的图片组件 cached_network_image 密码输入框 collection 图片保存 image_g…...

迪瑞克斯拉算法

迪锐克斯拉算法 简单来说就是在有向图中,给定一个图中具体的出发点,从这个点出发能够到达的所有的点,每个点的最短距离是多少。到不了的点,距离则是正无穷。有向,无负权重,可以有环。 所以说,迪…...

数据结构:力扣OJ题(每日一练)

目录 题一:环形链表 思路一: 题二:复制带随机指针的链表 思路一: 本人实力有限可能对一些地方解释的不够清晰,可以自己尝试读代码,望海涵! 题一:环形链表 给定一个链表的头节点…...

【论文阅读】基于深度学习的时序预测——Informer

系列文章链接 论文一:2020 Informer:长时序数据预测 论文二:2021 Autoformer:长序列数据预测 论文三:2022 FEDformer:长序列数据预测 论文四:2022 Non-Stationary Transformers:非平…...

机器学习 | Python实现GBDT梯度提升树模型设计

机器学习 | Python实现GBDT梯度提升树模型设计 目录 机器学习 | Python实现GBDT梯度提升树模型设计基本介绍模型描述模型使用参考资料基本介绍 机器学习 | Python实现GBDT梯度提升树模型设计。梯度提升树(Grandient Boosting)是提升树(Boosting Tree)的一种改进算法,GBDT也…...

elementUi表单恢复至初始状态并不触发表单验证

elementUi表单恢复至初始状态并不触发表单验证 1.场景再现2.解决方法 1.场景再现 左侧是树形列表,右侧是显示节点的详情,点击按钮应该就是新增一个规则的意思,表单内容是没有改变的,所以就把需要把表单恢复至初始状态并不触发表单…...

大模型相关知识

一. embedding 简单来说,embedding就是用一个低维的向量表示一个物体,可以是一个词,或是一个商品,或是一个电影等等。这个embedding向量的性质是能使距离相近的向量对应的物体有相近的含义,比如 Embedding(复仇者联盟)…...

无法在 macOS Ventura 上启动 Multipass

异常信息 ➜ ~ sudo multipass authenticate Please enter passphrase: authenticate failed: Passphrase is not set. Please multipass set local.passphrase with a trusted client. ➜ ~ multipass set local.passphrase Please enter passphrase: Please re-enter…...

算法通关村第六关——原来如此简单

层次遍历:又叫广度优先遍历。就是从根节点开始,先访问根节点下面一层全部元素,再访问之后的层次,直到访问完二叉树的最后一层。 我们先看一下基础的层次遍历题,力扣102题:给你一个二叉树,请你返…...

企业权限管理(八)-登陆使用数据库认证

Spring Security 使用数据库认证 在 Spring Security 中如果想要使用数据进行认证操作,有很多种操作方式,这里我们介绍使用 UserDetails 、 UserDetailsService来完成操作。 UserDetails public interface UserDetails extends Serializable { Collecti…...

第一百二十五天学习记录:C++提高:STL-deque容器(下)(黑马教学视频)

deque插入和删除 功能描述: 向deque容器中插入和删除数据 函数原型: 两端插入操作: push_back(elem); //在容器尾部添加一个数据 push_front(elem); //在容器头部插入一个数据 pop_back(); //删除容器最后一个数据 pop_front(); //删除容器…...

长期使用Taotoken聚合服务对项目月度账单的可预测性提升

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 长期使用Taotoken聚合服务对项目月度账单的可预测性提升 在AI驱动的项目开发与运营中,成本控制与预算规划是团队管理者…...

Linux服务器被挖矿木马劫持的五步应急处置指南

1. 这不是“中病毒”,是服务器被劫持成了矿机——先别慌,但必须立刻断网“服务器被黑客攻击,用来挖矿!”——这句话在运维圈里一出,比收到OOM告警还让人头皮发紧。它不像网页被挂马、数据库被拖库那样有明显业务影响&a…...

机器学习驱动储氢材料发现:从特征工程到DFT/MD验证的完整指南

1. 项目概述与核心思路氢能被视为未来清洁能源体系的关键一环,但如何安全、高效、经济地储存氢气,一直是制约其大规模应用的瓶颈。在众多储氢技术路线中,固态储氢,特别是基于金属氢化物的储氢材料,因其高体积储氢密度和…...

<背包问题>

背包问题是一类组合优化问题,其基本形式是给定一组物品,每个物品都有一个重量和一个价值,以及一个有限的背包容量,目标是在不超过背包容量的前提下,选择物品使得背包中的物品价值最大化。动态规划是解决背包问题的常用…...

【2025】AWVS安装保姆级教程(最新25.1.2可用)

【2025】AWVS安装保姆级教程(最新25.1.2可用) 文章目录 工具下载Host 重定向AWVS安装AWVS查看安装失败原因 工具下载 点击下载即可 下载完的工具后缀格式为.apk,需要将其改为.zip,然后将其解压得到以下工具后续安装使用 Host 重…...

告别枯燥理论!用Unity脚本生命周期与预制体玩转一个“会变身的敌人”

用Unity打造会变身的敌人:脚本生命周期与预制体的实战应用在游戏开发中,敌人AI的行为设计往往是新手开发者最感兴趣也最容易感到困惑的部分。Unity的脚本生命周期和预制体系统为这类需求提供了强大支持,但教科书式的讲解常常让学习者陷入枯燥…...

从零构建FOC轮腿机器人:开源平衡机器人完整指南

从零构建FOC轮腿机器人:开源平衡机器人完整指南 【免费下载链接】foc-wheel-legged-robot Open source materials for a novel structured legged robot, including mechanical design, electronic design, algorithm simulation, and software development. | 一个…...

【云雾效果商业级交付标准】:基于Adobe Sensei图像雾度分析报告(N=1,247张MJ生成图),锁定雾浓度≤0.38的7个关键阈值参数

更多请点击: https://intelliparadigm.com 第一章:云雾效果商业级交付标准的定义与行业意义 云雾效果在现代数字体验中已超越视觉装饰范畴,成为空间感知建模、沉浸式交互与品牌情绪传达的核心媒介。商业级交付标准并非仅关注“是否可见雾气”…...

基于Arduino与433MHz射频的智能灯光定时系统设计与实现

1. 项目概述:告别机械定时器,打造智能灯光管家家里前后院的照明,还有出门度假时屋内的几盏灯,过去一直靠四个老旧的机械定时器来管理。说实话,这玩意儿用起来真是费劲。它的核心问题在于“死板”——你设定好晚上7点开…...

Python Android打包终极指南:5个实战技巧解决移动开发痛点

Python Android打包终极指南:5个实战技巧解决移动开发痛点 【免费下载链接】python-for-android Turn your Python application into an Android APK 项目地址: https://gitcode.com/gh_mirrors/py/python-for-android Python-for-Android(简称p4…...