Я согласен с ответом от zacherates.
Но вы можете сделать вызов intern () в ваших нелиберальных строках.
Из примера zacherates:
// ... but they are not the same object
new String("test") == "test" ==> false
Если вы ставите нелитеральное равенство строки, это правда
new String("test").intern() == "test" ==> true
Во-первых, вы можете упростить файл, удалив ненужное сетевое объявление и отображение порта. docker-compose
создает пользовательскую мостовую сеть по умолчанию для вас и связывает все сервисы с ней - нет необходимости делать это вручную. Также внутри сети все порты автоматически подвергаются сервисам.
Во-вторых, удалить container_name
. Вы путаете себя. Службы получают имена своих хостов, равные именам служб по умолчанию.
version: '3.5'
services:
web_php:
image: php:7.2.2-apache
volumes:
- ./php/:/var/www/html/
web_dotnet:
build: .
Теперь, после того как все ненужные вещи убраны, просто позвоните web_php:80
из web_dotnet
.
После этого, если вы хотите получить доступ к web_dotnet
** извне ** docker-compose
, добавьте директиву ports
, чтобы сделать ее видимой с хоста.