【Docker系列】深入解析 Docker 容器部署脚本

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。
img

  • 推荐:kwan 的首页,持续学习,不断总结,共同进步,活到老学到老
  • 导航
    • 檀越剑指大厂系列:全面总结 java 核心技术,jvm,并发编程 redis,kafka,Spring,微服务等
    • 常用开发工具系列:常用的开发工具,IDEA,Mac,Alfred,Git,typora 等
    • 数据库系列:详细总结了常用数据库 mysql 技术点,以及工作中遇到的 mysql 问题等
    • 新空间代码工作室:提供各种软件服务,承接各种毕业设计,毕业论文等
    • 懒人运维系列:总结好用的命令,解放双手不香吗?能用一个命令完成绝不用两个操作
    • 数据结构与算法系列:总结数据结构和算法,不同类型针对性训练,提升编程思维,剑指大厂

非常期待和您一起在这个小小的网络世界里共同探索、学习和成长。💝💝💝 ✨✨ 欢迎订阅本专栏 ✨✨

博客目录

    • 1.脚本概览
    • 2.脚本详解
    • 3.Docker 容器技术的优势
    • 4.结语

在当今快速发展的云计算和微服务架构中,Docker 容器技术已经成为部署和管理应用程序的主流方式之一。本文将通过分析一个具体的 Docker 容器部署脚本,来深入理解 Docker 容器的部署流程和相关命令的使用。
在这里插入图片描述

1.脚本概览

首先,让我们对脚本进行一个整体的概览。脚本以sudo tee命令开始,这是一种在 Linux 系统中创建或修改文件的常用方法。sudo表示以超级用户权限执行命令,tee是一个文本处理工具,可以将输入数据同时输出到标准输出和文件中。在本例中,它被用来创建或更新/home/app/kwan/prd-startup.sh文件。

sudo tee /home/app/kwan/prd-startup.sh <<-'EOF'
#!/usr/bin/env bash
CONTAINER_NAME=kwan
IMAGE_NAME=kwan:latest
docker rm -f ${CONTAINER_NAME}
docker rmi ${IMAGE_NAME}
docker pull ${IMAGE_NAME}
docker run -d --name ${CONTAINER_NAME} \
  --privileged=true \
  -e PROFILE=prd \
  -w /home \
  -p 8148:80 \
  -v $PWD/logs:/home/logs \
  -v /home/uploads:/home/uploads \
  --restart=always \
  ${IMAGE_NAME}
docker logs -f --tail 500 ${CONTAINER_NAME}

<<-'EOF'是一个特殊的 here-document 语法,它允许在多行文本中使用制表符作为缩进,而不会在执行时被解释为特殊字符。

2.脚本详解

  1. 定义变量:脚本首先定义了两个变量CONTAINER_NAMEIMAGE_NAME,分别用于存储容器名称和镜像名称。这是为了提高脚本的可读性和可维护性。

  2. 清理旧容器和镜像:使用docker rm -f强制删除名为 kwan 的容器,使用docker rmi删除指定的镜像,确保部署的是最新的镜像。

  3. 拉取新镜像:使用docker pull命令从仓库中拉取最新的镜像。

  4. 运行新容器docker run命令用于创建并启动一个新的容器。参数解释如下:

    • -d:以守护进程模式运行容器。
    • --name:指定容器名称。
    • --privileged:给予容器特权模式,允许容器访问更多的系统资源。
    • -e PROFILE=prd:设置环境变量,可能用于区分不同的运行环境。
    • -w /home:设置容器的工作目录。
    • -p 8148:80:端口映射,将容器的 80 端口映射到宿主机的 8148 端口。
    • -v $PWD/logs:/home/logs:挂载卷,将当前目录下的logs目录挂载到容器的/home/logs目录。
    • -v /home/uploads:/home/uploads:挂载卷,将宿主机的/home/uploads目录挂载到容器的/home/uploads目录。
    • --restart=always:设置容器在退出时总是尝试重启。
    • ${IMAGE_NAME}:指定要运行的镜像名称。
  5. 查看容器日志:使用docker logs -f --tail 500命令实时查看容器的日志输出,--tail 500表示从最近的 500 条日志开始显示。

3.Docker 容器技术的优势

Docker 容器技术具有以下优势:

  • 轻量级:容器共享宿主机的内核,不需要像虚拟机那样模拟整个操作系统,因此启动速度快,资源占用少。
  • 隔离性:每个容器都是独立的运行环境,互不干扰,提高了系统的稳定性和安全性。
  • 可移植性:容器可以在不同的宿主机上无缝迁移,不受底层系统的限制。
  • 自动化部署:Docker 提供了丰富的工具和命令,可以方便地实现自动化部署和扩展。
    在这里插入图片描述

4.结语

通过分析这个 Docker 容器部署脚本,我们可以看到 Docker 在现代应用部署中的强大功能和灵活性。它不仅简化了部署流程,还提高了系统的稳定性和可维护性。随着云计算和微服务架构的不断发展,Docker 容器技术将继续在 IT 领域扮演重要的角色。

觉得有用的话点个赞 👍🏻 呗。
❤️❤️❤️本人水平有限,如有纰漏,欢迎各位大佬评论批评指正!😄😄😄

💘💘💘如果觉得这篇文对你有帮助的话,也请给个点赞、收藏下吧,非常感谢!👍 👍 👍

🔥🔥🔥Stay Hungry Stay Foolish 道阻且长,行则将至,让我们一起加油吧!🌙🌙🌙

img

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Shardingsphere-Proxy 5.5.0部署

Shardingsphere-Proxy 5.5.0部署 Shardingsphere系列目录&#xff1a;背景下载安装包Linux解压安装包修改配置文件global.yamldatabase-sharding.yaml配置没有单表情况配置有单表的情况背景 引入数据库驱动启动代理连接代理数据库Navicate工具连接MYSQL客户端连接 Shardingsphe…

华为IPD体系中三大流程之IPD流程的六个阶段和七个评审点介绍

概念 IPD集成产品开发&#xff0c;英文是IntegratedProduct Development&#xff0c;是一整套科学的研发创新管理方法论&#xff0c;将产品经营管理思想和理念置入到新产品开发和产品管理过程中&#xff0c;因此IPD是不仅是一套研发管理体系&#xff0c;更是一套产品经营管理体…

浸没式液冷服务器的换热效率及节能潜力分析

服务器浸没式液冷的换热效率及节能潜力 摘要&#xff1a;我们针对服务器浸没式液冷实验台进行了深入测试&#xff0c;探究了不同室外温度和服务器发热功率对系统制冷PUE的影响。实验数据显示&#xff0c;该系统的制冷PUE值介于1.05至1.28之间&#xff0c;高效节能特点显著。 在…

报表控件Stimulsoft 图表轴的日期时间步长模式

Stimulsoft Ultimate &#xff08;原Stimulsoft Reports.Ultimate&#xff09;是用于创建报表和仪表板的通用工具集。该产品包括用于WinForms、ASP.NET、.NET Core、JavaScript、WPF、PHP、Java和其他环境的完整工具集。无需比较产品功能&#xff0c;Stimulsoft Ultimate包含了…

83. 删除排序链表中的重复元素

文章目录 题目解题思路代码 题目 给定一个已排序的链表的头 head &#xff0c; 删除所有重复的元素&#xff0c;使每个元素只出现一次 。返回 已排序的链表 。 示例 1&#xff1a; 输入&#xff1a;head [1,1,2] 输出&#xff1a;[1,2] 示例 2&#xff1a; 输入&#xff1…

年终奖发放没几天,提离职领导指责我不厚道,我该怎么办?

“年终奖都发了&#xff0c;你还跳槽&#xff1f;太不厚道了吧&#xff01;” “拿完年终奖就走人&#xff0c;这不是典型的‘骑驴找马’吗&#xff1f;” 每到岁末年初&#xff0c;关于“拿到年终奖后是否应该立即辞职”的话题总会引发热议。支持者认为&#xff0c;这是个人…

LVS负载均衡群集群DR模式LVS负载均衡部署

1、LVS-DR工作原理 1、数据包流向分析 第一步&#xff1a;客户端发送请求到 Director Server (负载均衡器&#xff09;&#xff0c;请求的数据报文到达内核空间。 数据报文 源 IP ------客户端的 IP 目标 IP ------ VIP 源 MAC ------客户端的 MAC 目的 MAC ------ Director …

【C语言】一维数组(详解)

目录 1. 数组的概念 2. 一维数组的创建和初始化 3. 一维数组的使用 4. 一维数组在内存中的存储 5. sizeof 计算数组元素个数 正文开始—— 1. 数组的概念 数组是一组相同类型元素的集合。 数组中存放的是1个或者多个数据&#xff0c;但是数组元素个数不能为0。…

融合调度中心控制台的特点及应用行业

融合调度指挥中心是现代交通、能源、通讯等重要领域中不可或缺的一部分。在融合调度指挥中心中&#xff0c;设备配置的合理性和高效性直接影响到整个系统的运行效率和安全性。其中&#xff0c;控制台是融合调度指挥中心的核心设备之一&#xff0c;它承担着整个系统的操作、监控…

2024年应用科学、航天航空与核科学国际学术会议(ICASANS 2024)

2024年应用科学、航天航空与核科学国际学术会议&#xff08;ICASANS 2024&#xff09; 2024 International Academic Conference on Applied Science, Aerospace and Nuclear Science&#xff08;ICASANS 2024&#xff09; 会议简介&#xff1a; 在科技日新月异的今天&#xf…

pandas中的loc和iloc

loc和iloc的比较 .loc 和 .iloc 是 pandas 提供的两种不同的索引方法&#xff0c;它们的主要区别在于索引数据的依据&#xff1a; .loc&#xff1a; 基于标签的索引&#xff0c;使用 DataFrame 或 Series 的索引标签&#xff08;即行名和列名&#xff09;来获取数据。可以使用…

亚特全球链锯文化推广大使活动盛大启航

&#xff08;本台记者报&#xff09;链锯&#xff0c;这一象征着力量与技艺的工具&#xff0c;自诞生以来便见证了人类工业文明的进步。从最初的简易链锯到如今的多功能锂电链锯&#xff0c;彰显了人类对于技艺与科技的追求&#xff0c;其演变历程不仅映射出人类科技的巨大飞跃…

git的Cherry pick

Cherry pick Git Cherry Pick详解 https://blog.csdn.net/jam_yin/article/details/131594716 目标: 将开发分支A中提交的部分内容合并到B分支(可能是测试分支) 步骤: vscode安装 点击下图标进入graph

只有你相信,客户才会相信

我们外贸人在一起聊天的时候&#xff0c;可能最常说的话就是我们的产品不好做&#xff0c;出单太难了&#xff0c;是不是产品不行啊&#xff1f;但是又不知道什么产品好做&#xff0c;好不容易听到一款产品好做吧&#xff1f;自己又不懂&#xff0c;摸索不出来&#xff0c;因此…

深入分析四层/七层网关

1 简要介绍 随着云计算、大数据和物联网技术的迅猛发展&#xff0c;网络通信的复杂性和需求日益增加。在这种背景下&#xff0c;网关技术作为网络通信中的重要组成部分&#xff0c;扮演着关键的角色。 作为连接不同网络或协议的桥梁&#xff0c;四层网关和七层网关是两种常见且…

Pytorch编写Transformer

本文参考自https://github.com/datawhalechina/learn-nlp-with-transformers/blob/main/docs/ 在学习了图解Transformer以后&#xff0c;需要用Pytorch编写Transformer&#xff0c;下面是写代码的过程中的总结&#xff0c;结构根据图解Transformer进行说明。 import numpy as …

xss.haozi.me靶场通关参考

url&#xff1a;https://xss.haozi.me/ 文章目录 0x000x010x020x030x040x050x060x070x080x090x0A0x0B0x0C00xD00xE00xF0x100x110x12 0x00 先看js代码&#xff0c;第一关给你热热手&#xff0c;没给你加过 payload&#xff1a; <script>alert(1)</script>0x01 这…

Win11 删除文件时提示“找不到该项目,请重试”的解决办法

1、Win R 打开运行窗口&#xff0c;输入 notepad 并回车打开文本文档(记事本)软件&#xff0c;如下图&#xff1a; 2、在文本文档(记事本)软件中复制粘贴以下代码&#xff0c;如下图&#xff1a; del /f /a /q \\?\%1 rd /s /q \\?\%1或DEL /F /A /Q \\?\%1 RD /S /Q \\?…

4个工作学习必备的工具,请不要错过

一键改图 “一键改图”是一款简单易用的在线图片处理工具&#xff0c;提供了多种功能来帮助用户快速处理图片。具体功能包括&#xff1a; 压缩图片质量&#xff1a;可以调整图片的质量&#xff0c;使其更小但不失真。 压缩图片尺寸&#xff1a;可以根据需要调整图片的尺寸。 …

leetcode刷题日志-旋转图像

题目描述 解题思路 也就是一个找规律的题&#xff0c;可以写一个转换前后的坐标对比&#xff0c;很容易能找到规律。[i,j]->[j,length-i-1]上式就是找到的规律。在解题的时候遇到过一个问题&#xff0c;就是如果我单纯的将数组复制给一个中间变量&#xff0c;或者是将数组中…