0


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

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

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

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

博客目录

在当今快速发展的云计算和微服务架构中,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

标签: docker 容器 运维

本文转载自: https://blog.csdn.net/qyj19920704/article/details/139711728
版权归原作者 Kwan的解忧杂货铺 所有, 如有侵权,请联系我们删除。

“【Docker系列】深入解析 Docker 容器部署脚本”的评论:

还没有评论