我正在尝试使用docker构建我的应用,但我需要能够定位Windowsservercore-ltsc2016(Windows 2016),windowsservercore-1709和windowsservercore-1803。
我唯一能想到的是每个体系结构一个单独的dockerfile,但这并不意味着如果将来有更改,就很容易进行更新。必须更改 n 个文件的数量。
另外,当您运行一个docker-compose文件时,还有一种自动方式可以轻松地确定您正在运行1803版本并使用该版本,还是最好为您使用的体系结构再次创建一个docker-compose文件
答案 0 :(得分:0)
将args传递给dockerfile,然后根据TARGETOS变量进行相关操作。这适用于Linux,对于Windows,我想它是相似的,只是给您一些想法。
CMD:
var count = 0;
function cc(card) {
// Only change code below this line
if (card < 7){
count++;
} else if (card < 10){
count;
} else {count--;
}
if (count > 0){
return count + " Bet"
} else {
return count + " Hold"
}
// Only change code above this line
}
docker-compose.yml:
export TARGETOS=windowsservercore-1803
docker-compose build
Dockerfile:
services:
my_name:
build:
context: .
args:
- TARGETOS