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 alias1
kemudian dapat di-ping dari wadah lain.
PEMBARUAN: Seperti yang ditunjukkan @grilix, Anda harus menggunakan docker-compose run --use-aliases
untuk membuat alias yang ditentukan tersedia.