一个甜甜的大橙子 2023-09-19 00:35 采纳率: 25%
浏览 26

关于docker离线部署vben+django项目的问题

背景:我在我的本地机器A开发了一个vben+django的项目,这个项目有docker-compose.yml文件和dockerfile,可以用docker部署。现在我想将这个项目迁移到内部局域网主机B中,这个主机不能连接互联网。
问题:想问一下迁移有没有好的方案。

同时,我在摸索的过程中遇到了问题如下:
我将本地机器A部署时的docker镜像save为tar文件,计划在内部局域网主机B中load。本地机器A中的docker-compose.yml文件中部分内容如下,表示需要通过dockerfile构建镜像:

services:
    fuadmin-django:
        build:
            context: .
            dockerfile: ./docker/django/Dockerfile
        container_name: fuadmin-django

当我把镜像load到内部局域网主机B后,这里的内容是否要改成直接使用生成的镜像

services:
    fuadmin-django:
        image: imagename:imagetag
  • 写回答

3条回答 默认 最新

  • 专家-赤兔[在线] 优质创作者: 编程框架技术领域 2023-09-19 00:48
    关注

    引用 皆我百晓生 小程序回复内容作答:
    对于将项目迁移到内部局域网主机B中的方案,你可以考虑以下步骤:

    1. 在本地机器A上使用docker save命令将镜像保存为tar文件:

      docker save -o image.tar imagename:imagetag
      
    2. 将tar文件传输到内部局域网主机B,可以使用USB存储设备、SCP命令等进行传输。

    3. 在内部局域网主机B上使用docker load命令加载镜像:

      docker load -i image.tar
      
    4. 更新docker-compose.yml文件,将构建镜像的部分改为直接使用已加载的镜像:

      services:
          fuadmin-django:
              image: imagename:imagetag
              container_name: fuadmin-django
      
    5. 在主机B上执行docker-compose up命令来启动项目。

    这样,你可以使用已加载的镜像在内部局域网主机B上部署vben+django项目。

    请注意,在将镜像从本地机器A迁移到主机B时,确保两台机器上的docker版本兼容。另外,如果项目配置中涉及与互联网的依赖关系(如外部API或库的访问),你需要提前解决这些依赖关系,并在部署时进行相应的配置调整。

    评论

报告相同问题?

问题事件

  • 创建了问题 9月19日