Docker-compose --isolation = hyperv标签

时间:2018-03-08 13:43:25

标签: docker docker-compose hyper-v

当我打开容器时(使用Windows服务器17.09),我必须使用--isolation = hyperv配置。

例如:

 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

如果我可以在docker-compose文件中添加--isolation = hyperv标记,是否有任何想法? 感谢。

1 个答案:

答案 0 :(得分:0)

此提交可能为此添加了支持: https://github.com/docker/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

值得注意的是,我无法混合搭配不同的隔离物