当我打开容器时(使用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标记,是否有任何想法? 感谢。
答案 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
值得注意的是,我无法混合搭配不同的隔离物