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

 更新时间:2025年11月26日 08:57:46   作者:非优秀程序员  
本教程将指导你如何安全地修改运行中的 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
  • -it: 创建一个交互式的 TTY 终端。
  • bisheng-frontend: 容器名称。
  • /bin/bash: 要执行的命令。

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

find / -name "*.png" -o -name "*.jpg" -o -name "*.svg" 2>/dev/null
  • 2>/dev/null: 将无关的权限错误信息丢弃,使输出更干净。

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

  • /usr/share/nginx/html/platform/assets/male-technologist-CcgkZdXy.png
  • /usr/share/nginx/html/platform/assets/analysis.svg

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

exit

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

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

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

mkdir -p /opt/bisheng-main/local-frontend
  • -p: 确保父目录存在,如果不存在则一并创建。

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

# 将目录所有者改为当前用户(推荐)
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
  • 这条命令会将容器内的 /usr/share/nginx/html 目录及其所有内容,复制到本地的 /opt/bisheng-main/local-frontend/ 目录下。复制完成后,本地路径会是 /opt/bisheng-main/local-frontend/html/...

验证文件是否复制成功

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-frontend 服务。

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

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

如果你手动运行容器

  • a. 列出所有网络: bash docker network ls
  • b. 找到 bisheng-frontend 之前连接的网络(通常是 bisheng_defaultdocker_default)。你可以通过检查哪个网络包含 bisheng-backend 来确认: bash docker network inspect docker_default | grep "bisheng-backend"
  • c. 记下正确的网络名称,例如 bisheng_default

重新启动容器,并挂载本地修改后的目录: 使用 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
  • -v /local/path:/container/path: 这是卷挂载命令。它将本地的 /opt/bisheng-main/local-frontend/html/platform/assets 目录,挂载到容器内的 /usr/share/nginx/html/platform/assets 目录。容器运行时,会优先读取挂载目录中的文件,从而实现了文件替换。
  • 路径映射技巧:尽量让本地挂载的目录结构与容器内的目录结构保持一致,这样不易出错。

检查容器是否成功启动

docker ps | grep bisheng-frontend

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

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

四、总结

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

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

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

相关文章

  • 2023年windows DockerDeskTop最新款4.18.0 全程保姆级安装图文教程

    2023年windows DockerDeskTop最新款4.18.0 全程保姆级安装图文教程

    这篇文章主要介绍了2023年windows DockerDeskTop最新款4.18.0 全程保姆级安装图文教程,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-04-04
  • Docker离线部署geoserver的思路详解

    Docker离线部署geoserver的思路详解

    这篇文章主要介绍了Docker离线部署geoserver的思路详解,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-12-12
  • centos6使用docker部署kafka项目的方法分析

    centos6使用docker部署kafka项目的方法分析

    这篇文章主要介绍了centos6使用docker部署kafka项目的方法,结合实例形式分析了centos6环境下使用docker部署kafka项目的相关命令与使用技巧,需要的朋友可以参考下
    2020-02-02
  • Docker搭建PHP运行环境完整步骤(图文教程)

    Docker搭建PHP运行环境完整步骤(图文教程)

    PHP是一种广泛使用的编程语言,被用于Web开发和服务器管理等各种用途,而Docker则是一种非常流行的容器化平台,可以方便地管理应用程序和环境,这篇文章主要给大家介绍了关于Docker搭建PHP运行环境的完整步骤,需要的朋友可以参考下
    2023-09-09
  • PVE下扩展openwrt for x86分区大小方式

    PVE下扩展openwrt for x86分区大小方式

    本文介绍了在PVE环境下如何对OpenWRT虚拟机的分区进行扩容,包括磁盘调整、软件安装、分区配置和系统引导等步骤,操作前需做好备份,以防数据丢失
    2024-10-10
  • zabbix监控docker容器状态【推荐】

    zabbix监控docker容器状态【推荐】

    这篇文章主要介绍了zabbix监控docker容器状态的相关资料,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-06-06
  • 用docker实现Redis主从配置的示例代码

    用docker实现Redis主从配置的示例代码

    在三台服务器上用Docker部署Redis主从模式:Server1作为主节点,Server2和Server3配置为从节点并连接主节点,通过环境变量指定主IP,验证复制状态以确保高可用性
    2025-09-09
  • 宝塔创建Docker容器配置nginx的实现步骤

    宝塔创建Docker容器配置nginx的实现步骤

    本文主要介绍了宝塔创建Docker容器配置nginx的实现步骤,文中通过图文介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-06-06
  • Docker-compose部署gitlab的方法步骤

    Docker-compose部署gitlab的方法步骤

    这篇文章主要介绍了Docker-compose部署gitlab的方法步骤,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-12-12
  • docker安装redis并以配置文件方式启动详解

    docker安装redis并以配置文件方式启动详解

    这篇文章主要介绍了docker安装redis并以配置文件方式启动详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12

最新评论