要将容器内的 /usr/share/nginx/html
目录替换成宿主机上的 /path/html
目录里的内容,你可以使用 Docker 卷来实现。以下是你需要做的修改:
-
停止并删除现有的前端容器(如果它正在运行):
docker-compose down --remove-orphans
-
修改
docker-compose.yml
文件,在frontend
服务中添加一个卷映射,将宿主机的/path/html
目录挂载到容器的/usr/share/nginx/html
目录:frontend: container_name: bisheng-frontend image: dataelement/bisheng-frontend:latest ports: - "3001:3001" environment: TZ: Asia/Shanghai volumes: - /path/html:/usr/share/nginx/html # 将宿主机的/path/html挂载到容器的/usr/share/nginx/html - ${DOCKER_VOLUME_DIRECTORY:-.}/nginx/nginx.conf:/etc/nginx/nginx.conf - ${DOCKER_VOLUME_DIRECTORY:-.}/nginx/conf.d:/etc/nginx/conf.d restart: on-failure depends_on: - backend
请确保将
/path/html
替换为你实际的宿主机目录路径。 -
重新启动服务:
docker-compose up -d
这样,当你使用 docker-compose up -d
命令重新启动前端服务时,它将使用宿主机上 /path/html
目录中的内容,而不是容器镜像中的原始内容。
请注意,这种挂载方式将覆盖容器内原有的 /usr/share/nginx/html
目录,任何对该目录的更改都将反映在宿主机的 /path/html
目录中,并且这些更改将在容器重启后保留。
如果你需要保留容器内原有内容的备份,可以在执行上述操作之前,先将容器内的内容复制出来:
docker cp bisheng-frontend:/usr/share/nginx/html /path/to/backup
这会将容器内的 /usr/share/nginx/html
目录复制到宿主机的 /path/to/backup
目录。