Docker-compose --isolation=hyperv тег

Я должен использовать конфигурацию --isolation=hyperv, когда я запускаю свой контейнер (используя Windows Server 17.09).

Например:

 docker run -it -d -p 2222:80 --isolation=hyperv packagelocatorservice

Мне нужно вызвать 4 контейнера, поэтому я использую файл docker-compose.yml и команду docker-compose up

version: '3'

services:

web:
image: web
ports:
- 4444:80
build:
context: ./web/webapi
dockerfile: Dockerfile

uimetadataservice:
image: uimetadataservice
ports:
- 1111:80
build:
context: ./MetaDataService
dockerfile: Dockerfile

packagelocatorservice:
image: packagelocatorservice
ports:
- 2222:80
build:
context: ./PackageLocatorService/PackageLocatorService
dockerfile: Dockerfile

assetmanagementserviceweb:
image: assetmanagementserviceweb
ports:
- 3333:80
build:
context: ./InfrastructureWebService
dockerfile: Dockerfile

Есть идеи, могу ли я добавить тег --isolation=hyperv в файл docker-compose? Спасибо.


person daniel the man    schedule 08.03.2018    source источник
comment
Вы когда-нибудь получали решение этой проблемы?   -  person Kieron    schedule 28.09.2018
comment
@Kieron Не удалось найти ничего, связанного с ответом на этот вопрос.   -  person daniel the man    schedule 02.10.2018
comment
ничего. В настоящее время мы переходим на Service Fabric с Docker Compose в качестве конфигурации. Ничего из этого не идеально. Контейнеры Windows в настоящее время слишком велики и слишком медленны, но у нас нет выбора без полной перезаписи некоторых старых компонентов. Наш новый код полностью основан на .NET Core, поэтому он прекрасно работает в контейнерах Linux через Docker Compose.   -  person Kieron    schedule 15.10.2018


Ответы (1)


Эта фиксация, возможно, добавила поддержку для этого: /compose/pull/5448/commits/8155ddc7add99edd1c9a366f44c65ba4d62589a3

Я обновил версию до 3.5 и добавил isolation: 'hyperv' изображения ниже в Интернете, надеюсь, это сработает для вас.

version: '3.5'

services:

web:
image: web
isolation: 'hyperv'
ports:
- 4444:80
build:
context: ./web/webapi
dockerfile: Dockerfile

uimetadataservice:
image: uimetadataservice
ports:
- 1111:80
build:
context: ./MetaDataService
dockerfile: Dockerfile

packagelocatorservice:
image: packagelocatorservice
ports:
- 2222:80
build:
context: ./PackageLocatorService/PackageLocatorService
dockerfile: Dockerfile

assetmanagementserviceweb:
image: assetmanagementserviceweb
ports:
- 3333:80
build:
context: ./InfrastructureWebService
dockerfile: Dockerfile

Стоит отметить, что я не мог смешивать и сочетать различные изоляции.

person Gravypower    schedule 02.01.2019