如何使用docker-compose本地Docker镜像?

时间:2018-04-12 15:42:25

标签: docker

我有一个docker-compose文件,希望能够将其中一个图像从我本地缓存中的图像中旋转出来,而不是从dockerhub中提取。我正在使用sbt docker插件,因此我可以看到正在创建的图像,并且当我在命令行执行docker images时可以看到它。然而,当我docker-compose up -d myimage时,它总是默认为远程图像。如何强制它使用我的本地图像??

以下是我的撰写文件的相关部分:

spark-master:
    image: gettyimages/spark:2.2.0-hadoop-2.7
    command: bin/spark-class org.apache.spark.deploy.master.Master -h spark-master
    hostname: spark-master
    environment:
      MASTER: spark://spark-master:7077
      SPARK_CONF_DIR: /conf
      SPARK_PUBLIC_DNS: localhost
    expose:
      - 7001
      - 7002
      - 7003
      - 7004
      - 7005
      - 7006
      - 7077
      - 6066
    ports:
      - 4040:4040
      - 6066:6066
      - 7077:7077
      - 8080:8080
    volumes:
      - ./conf/master:/conf
      - ./data:/tmp/data

  hydra-streams:
    image: ****/hydra-spark-core
    command: bin/spark-class org.apache.spark.deploy.worker.Worker spark://spark-master:7077
    hostname: worker
    environment:
      SPARK_CONF_DIR: /conf
      SPARK_WORKER_CORES: 2
      SPARK_WORKER_MEMORY: 1g
      SPARK_WORKER_PORT: 8881
      SPARK_WORKER_WEBUI_PORT: 8091
      SPARK_PUBLIC_DNS: localhost
    links:
      - spark-master
    expose:
      - 7012
      - 7013
      - 7014
      - 7015
      - 7016
      - 8881
    ports:
      - 8091:8091
    volumes:
      - ./conf/worker:/conf
      - ./data:/tmp/data

1 个答案:

答案 0 :(得分:4)

您可以通过保留现有图像来强制使用本地图像:

docker tag remote/image local_image

然后使用local_image代替remote/image在撰写文件中。