Как я могу создать два контейнера с одним и тем же dockerfile? - PullRequest
0 голосов
/ 07 января 2020

У меня есть Dockerfile, который запускается ["htop"] У меня есть docker -компонентный файл, который запускает этот dockerfile, но я хотел бы запустить два экземпляра этого dockerfile, но у меня возникают проблемы при этом, каждый контейнер будет иметь свой собственная версия htop.

Dockerfile

FROM alpine:latest

RUN apk --no-cache add \
    htop

ENTRYPOINT ["htop"]

docker -compose

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

1 Ответ

0 голосов
/ 07 января 2020

Я не использую compose лично и не нахожусь на P C сейчас с docker, установленным, чтобы проверить это, но вы можете попробовать это:

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

В противном случае не используйте compose построить изображения, но собрать их вручную и удалить сборку:. из сервиса htop.

т.е. 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

...