docker Node.js后端映像被保存,但在重新启动容器后,它们消失了

iyfjxgzm  于 2023-01-29  发布在  Docker
关注(0)|答案(1)|浏览(177)

我遇到了一个问题。在multer的帮助下,我把图片保存在了后端服务器的一个特殊文件夹中。然而,问题是一旦服务器重新启动,图片就消失了。有没有办法重写CI/CD管道或gitlab runner,以便保留图片?

stages:  
  - build
  - deploy
  
build docker image:
  stage: build
  script:
    - npm install
    - docker rmi -f ci/backendcontainer
    - docker build -t ci/backendcontainer .
  only:
    - main

deploy docker image:
  stage: deploy
  script:    
    - docker-compose up -d
  only:
    - main
router.put('/post/photo/:id', auth_util.checkSession, upload.single('image'), async (req, res) => {
    try {
        const { id } = req.params
        const imagePath = req.file.path
        const description = req.file.originalname
        await pgclient.query(`UPDATE public.tbl_player
            SET playerimageurl='${imagePath}'
            WHERE playerid= ${id};`);
        console.log("ADDING NEW IMAGE")
        res.status(200).json(imagePath);
    } catch (err) {
        console.error(err.message);
        res.status(404);
    }
})
kg7wmglp

kg7wmglp1#

你需要到本地创建一个目录并且Map到通过你的docker-compose配置中的一个卷。
卷是保存Docker容器生成和使用的数据的首选机制。虽然绑定装载取决于主机的目录结构和操作系统,但卷完全由Docker管理。
https://docs.docker.com/storage/volumes/

相关问题