String a = new String("foo");
String b = new String("foo");
System.out.println(a == b); // prints false
System.out.println(a.equals(b)); // prints true
Убедитесь, что вы понимаете, почему. Это потому, что сравнение ==
сравнивает только ссылки; equals()
метод сопоставляет содержимое по символу.
Когда вы вызываете new для a
и b
, каждый получает новую ссылку, указывающую на "foo"
в таблице строк. Ссылки разные, но контент один и тот же.
Во-первых, чтобы ответить на ваш вопрос, да, вы можете использовать параметры с шаблонами OpenShift и передавать значение и время создания.
Для этого вы добавите необходимые значения шаблона в свой файл yaml, и вместо oc create
вы будете использовать oc new-app -f deploymentconfig.yaml --param=SOME_KEY=someValue
. Проверьте oc new-app --help
для получения дополнительной информации здесь.
Некоторые другие моменты, на которые следует обратить внимание: если вы ссылаетесь на изображения из внутреннего реестра, вам лучше использовать imagestreams . Они предоставляют абстракцию для изображений, извлеченных из внутреннего реестра докеров в OpenShift, как это было описано выше.
Наконец, значение пространства имен доступно через нисходящий API в каждом модуле, и вам не нужно (обычно) вводить это вручную.