首页 > 解决方案 > 如何创建两个运行相同 dockerfile 的容器?

问题描述

我有一个运行的 Dockerfile["htop"]我有一个运行该 dockerfile 的 docker-compose 文件,但是我想运行该 dockerfile 的两个实例,但是我在这样做时遇到了麻烦,每个容器都会运行自己的 htop 版本。

Dockerfile

FROM alpine:latest

RUN apk --no-cache add \
    htop

ENTRYPOINT ["htop"]

码头工人撰写

version: '3'
services:
  htop:
    build: .
    environment:
      TERM: "linux"
  htop_one:
    build: .
    environment:
      TERM: "linux"

标签: dockerdocker-composedockerfile

解决方案


我个人不使用 compose,现在不在 PC 上安装了 docker 来测试它,但你可以试试这个:

version: '3'
services:
  htop:
    build: .
    image: htop:latest
    environment:
      TERM: "linux"
  htop_one:
    image: htop:latest
    environment:
      TERM: "linux"
  depends_on:
     - htop

否则不要使用 compose 来构建图像,而是手动构建它们并删除 build: 。从 htop 服务。

IE docker build -t htop:latest .

然后使用这个撰写文件。

version: '3'
services:
  htop:
    image: htop:latest
    environment:
      TERM: "linux"
  htop2:
    image: htop:latest
    environment:
      TERM: "linux"

它可能不是最佳的......我认为你也可以这样做。

version: '3'
services:
  htop:
    build: .
    image: htop:latest
    environment:
      TERM: "linux"

然后运行docker-compose --scale htop=2 my-htop.yml


推荐阅读