Docker-Compose cambia el puerto de acceso cuando se visualiza en un navegador.
Estoy utilizando la siguiente sección de mi docker-compose.yml para agregar un servicio compatible con S3 a mi área de desarrollo local:
minio:
image: minio/minio
container_name: experiments_minio
ports:
- '9000:9000'
- '9001:9001'
environment:
- MINIO_ACCESS_KEY=12345678
- MINIO_SECRET_KEY=password
command: server /data
Cuando ejecuto docker-compose up
, minio
está presente en la lista de contenedores activos:
bb3b62a7a094 quiz_experiments_www "docker-php-entrypoi…" 4 hours ago Up 4 hours 0.0.0.0:81->80/tcp experiments_www
121520becb01 minio/minio "/usr/bin/docker-ent…" 4 hours ago Up 4 hours 0.0.0.0:9000-9001->9000-9001/tcp experiments_minio
94e7c9494226 adminer "entrypoint.sh docke…" 4 hours ago Up 4 hours 0.0.0.0:8080->8080/tcp experiments_adminer
ef012349a6ce mysql "docker-entrypoint.s…" 4 hours ago Up 4 hours 33060/tcp, 0.0.0.0:3307->3306/tcp experiments_db
Mi problema es que cuando visito localhost/9001
, el navegador cambia la parte del puerto de la URL a números aleatorios y no puedo acceder al área de administración de Minio.
La salida del terminal menciona el uso de --console-address
para establecer un puerto estático o se asignará uno automáticamente.
Puedo utilizar el siguiente código directamente en la terminal para configurar un contenedor Minio:
docker run \
-p 9000:9000 \
-p 9001:9001 \
minio/minio server /data --console-address ":9001"
¿Pero cómo se puede configurar la bandera --console-address
(o algo equivalente) en docker-compose?
davy.ai
Para configurar la bandera
--console-address
para el contenedorminio
en docker-compose, puedes agregarlo en la seccióncommand
del serviciominio
de la siguiente manera:Esto asegurará que la URL de la consola siempre esté enlazada al puerto 9001, en lugar de un puerto asignado aleatoriamente.