docker

关注公众号 jb51net

关闭
首页 > 网站技巧 > 服务器 > 云和虚拟化 > docker > Docker bisheng-frontend静态文件修改

修改Docker容器bisheng-frontend中的静态文件的操作步骤

作者:非优秀程序员

本教程将指导你如何安全地修改运行中的 bisheng-frontend Docker 容器内的静态文件(如图片、SVG 等),我们将采用复制文件 -> 本地修改 -> 挂载重启的最佳实践,以避免直接在容器内修改带来的风险,需要的朋友可以参考下

教程将分为以下几个部分:

  1. 教程目标:明确说明本教程将教会你什么。
  2. 前提条件:列出执行本教程所需的环境和工具。
  3. 操作步骤
    • 步骤一:进入容器并定位文件
    • 步骤二:将容器内文件复制到本地
    • 步骤三:在本地修改文件
    • 步骤四:重新创建容器并挂载修改后的文件
  4. 总结:简要回顾整个流程。

一、教程目标

本教程将指导你如何安全地修改运行中的 bisheng-frontend Docker 容器内的静态文件(如图片、SVG 等)。我们将采用“复制文件 -> 本地修改 -> 挂载重启”的最佳实践,以避免直接在容器内修改带来的风险。

二、前提条件

  1. 已安装 Docker 并能正常运行。
  2. 已安装 docker-compose (如果你的服务是通过 docker-compose 启动的)。
  3. 具有宿主机的命令行访问权限,并拥有 sudo 权限(用于创建目录和修改权限)。
  4. 确认 bisheng-frontend 容器正在运行:
docker ps | grep bisheng-frontend

三、操作步骤

步骤一:进入容器并定位目标文件

首先,我们需要进入容器内部,找到需要修改的文件的具体路径。

进入 bisheng-frontend 容器的交互式终端

docker exec -it bisheng-frontend /bin/bash

在容器内搜索需要修改的文件: 例如,我们要搜索所有图片文件(.png, .jpg, .svg):

find / -name "*.png" -o -name "*.jpg" -o -name "*.svg" 2>/dev/null

记录文件路径: 从搜索结果中,找到你需要修改的文件,并记下它的完整路径。例如:

退出容器: 完成文件定位后,退出容器终端。

exit

步骤二:将容器内的文件复制到本地宿主机

为了安全地修改,我们将容器内的整个静态文件目录复制到本地。

在宿主机上创建一个本地目录,用于存放从容器中复制出来的文件:

mkdir -p /opt/bisheng-main/local-frontend

(可选)修改本地目录权限: 为了确保你当前的用户有权限读写该目录,可以修改其权限。

# 将目录所有者改为当前用户(推荐)
sudo chown -R $USER:$USER /opt/bisheng-main/local-frontend

# 或者,给予更宽松的权限(不推荐,但简单)
# sudo chmod -R 775 /opt/bisheng-main/local-frontend

将容器内的文件目录复制到本地: 根据步骤一找到的路径,我们复制其上级目录(例如 /usr/share/nginx/html)到本地。

docker cp bisheng-frontend:/usr/share/nginx/html /opt/bisheng-main/local-frontend

验证文件是否复制成功

ls -l /opt/bisheng-main/local-frontend/html/platform/assets/

你应该能看到你之前在容器内找到的那些文件。

步骤三:在本地修改文件

现在,你可以在本地对文件进行任意修改。

  1. 使用你喜欢的编辑器或工具,找到本地对应的文件并进行修改或替换。
    • 本地文件路径示例:/opt/bisheng-main/local-frontend/html/platform/assets/male-technologist-CcgkZdXy.png
    • 重要:修改后的文件请务必保持与原文件相同的文件名

步骤四:重新创建容器并挂载修改后的文件

这是最关键的一步。我们将停止并删除旧容器,然后创建一个新容器,并使用 Docker 的卷挂载功能,将我们修改好的本地目录挂载到容器内,从而覆盖原有的文件。

停止并删除正在运行的 bisheng-frontend 容器

docker stop bisheng-frontend
docker rm bisheng-frontend

(重要)确认容器的网络: 为了确保新容器能和其他服务(如 bisheng-backend)通信,需要使用正确的网络。

如果你使用 docker-compose:通常不需要手动指定网络,docker-compose 会自动管理。

如果你手动运行容器

重新启动容器,并挂载本地修改后的目录: 使用 docker run 命令创建一个新容器。关键在于 -v (volume) 参数

docker run -d \
  --name bisheng-frontend \
  --network bisheng_default \  # 替换为你在上一步确认的网络名称
  -p 3001:3001 \
  -v /opt/bisheng-main/local-frontend/html/platform/assets:/usr/share/nginx/html/platform/assets \
  cr.dataelem.com/dataelement/bisheng-frontend:latest

检查容器是否成功启动

docker ps | grep bisheng-frontend

如果能看到 bisheng-frontend 并且状态为 Up,则表示启动成功。

验证修改: 打开浏览器或使用 curl 访问你的应用,查看相应的图片或静态资源是否已经更新为你修改后的版本。

四、总结

通过以上步骤,你已经成功地修改了 bisheng-frontend 容器中的静态文件。这种“复制-修改-挂载”的方法是 Docker 环境下更新容器内容的标准操作流程,它安全、可靠且易于管理。

如果你未来还需要修改其他文件,只需重复步骤三步骤四即可,无需再重新复制整个目录(除非容器内的原始文件又发生了变化)。

以上就是修改Docker容器bisheng-frontend中的静态文件的操作步骤的详细内容,更多关于Docker bisheng-frontend静态文件修改的资料请关注脚本之家其它相关文章!

您可能感兴趣的文章:
阅读全文