Saya menemukan bahwa nama host tidak terlihat oleh penampung lain saat menggunakan docker run. Ini ternyata merupakan masalah yang diketahui (mungkin lebih merupakan fitur yang diketahui), dengan bagian dari pembahasannya adalah:
Kami mungkin harus menambahkan peringatan ke dokumen tentang menggunakan nama host. Saya pikir itu jarang berguna.
Cara yang benar untuk menetapkan nama host - dalam hal jaringan kontainer - adalah dengan mendefinisikan alias seperti ini:
services:
some-service:
networks:
some-network:
aliases:
- alias1
- alias2
Sayangnya ini masih tidak berhasil docker run. Solusinya adalah dengan menetapkan nama penampung:
docker-compose run --name alias1 some-service
Dan alias1kemudian dapat di-ping dari wadah lain.
PEMBARUAN: Seperti yang ditunjukkan @grilix, Anda harus menggunakan docker-compose run --use-aliasesuntuk membuat alias yang ditentukan tersedia.