是否可以从实时服务器下载工作映像并在本地运行?

时间:2020-08-13 12:00:40

标签: docker docker-compose

我有一个在2个docker容器中的oro Commerce上运行的项目:

  • 网络
  • 数据库

我试图在不带容器的情况下启动项目。我总是遇到扩展名和其他问题,现在我有2个任务。

  1. 我需要在本地启动项目并将其迁移到另一台实时服务器。我有什么选择? (我真的对docker不太了解)是否可以下载所有准备好的容器或图像并在本地运行?我应该在哪里寻找带有任务步骤的图片?
  2. 我设法从git中提取项目并尝试docker-compose它,但似乎它是从github或其他方式加载图像 我将在下面留下docker-compose文件
version: '3.6'

services:
  database:
    image: registry.gitlab.com/ubiedigital/kauno-grudai/server/database:latest
    container_name: database
    networks:
    - kggroup_default
    ports:
    - 3306:3306
    volumes:
    - /etc/timezone:/etc/timezone:ro
    - /etc/localtime:/etc/localtime:ro
    - /var/lib/mysql:/var/lib/mysql
    environment:
      MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
      MYSQL_USER: ${MYSQL_USER}
      MYSQL_PASSWORD: ${MYSQL_PASSWORD}
      MYSQL_DATABASE: ${MYSQL_DATABASE}
    restart: always

  web-stage:
    image: registry.gitlab.com/ubiedigital/kauno-grudai/server/web:latest
    container_name: web-stage
    networks:
    - kggroup_default
    ports:
    - 8000:80
    - 4434:443
    volumes:
    - /etc/timezone:/etc/timezone:ro
    - /etc/localtime:/etc/localtime:ro
    - ./html-stage/crm:/var/www/html
    environment:
    - SERVER_NAME=${SERVER_NAME}
    - LD_LIBRARY_PATH=/usr/lib/oracle/12.2/client64/lib
    - ORACLE_HOME=/usr/lib/oracle/12.2/client64
    depends_on:
    - database
    restart: always

  web-master:
    image: registry.gitlab.com/ubiedigital/kauno-grudai/server/web:latest
    container_name: web-master
    networks:
    - kggroup_default
    ports:
    - 8080:80
    - 4433:443
    volumes:
    - /etc/timezone:/etc/timezone:ro
    - /etc/localtime:/etc/localtime:ro
    - ./html-master/crm:/var/www/html
    environment:
    - SERVER_NAME=${SERVER_NAME}
    - LD_LIBRARY_PATH=/usr/lib/oracle/12.2/client64/lib
    - ORACLE_HOME=/usr/lib/oracle/12.2/client64
    depends_on:
    - database
    restart: always

networks:
  kggroup_default:
    name: kggroup_default

2 个答案:

答案 0 :(得分:0)

未下载容器。 泊坞窗映像服务器中有泊坞窗映像。该服务器可以是registry.gitlab.com,dockerhub或其他任何服务器。

然后,容器是这些docker映像的实例。 因此,当您执行docker compose up -d时,会自动下载这些图像并在本地创建容器。

要在其他服务器上安装它,您只需在其他服务器上再次执行deploy命令(docker-compose up -d以及所需的参数,例如环境设置)即可。

答案 1 :(得分:0)

您可以导出和导入您的docker映像。 首先,停止您的容器,然后 找到您要移动的容器的名称

$ docker ps -a

然后

$ docker save mycontainername > /path/to/folder/mycontainername.tar

将mycontainername.tar导出到新位置

然后

$ docker load mycontainername < /path/to/folder/mycontainername.tar