Estoy aprendiendo Docker. Si quiero usar una imagen particular de Docker Hub, como mysql, ¿cómo sé qué variables de entorno se pueden usar con esa imagen de Docker? ¿Alguna forma de obtener una lista de las variables disponibles?
Si observa cualquier Dockerfile, busque líneas que comiencen con ENV :
cat Dockerfile | grep ENV Si solo hay una imagen disponible, siempre puede hacerlo ( --format=... es opcional):
docker history --format="{{.CreatedBy}}" --no-trunc myimage | grep ENVSimplemente puede ejecutarlo y ver. Esto es lo que obtuve cuando traté de correr
docker run -it mysql error: database is uninitialized and password option is not specified You need to specify one of MYSQL_ROOT_PASSWORD, MYSQL_ALLOW_EMPTY_PASSWORD and MYSQL_RANDOM_ROOT_PASSWORDDos formas de obtener la lista de variables env:
Puede consultar Dockerfile y buscar ENV o el comando de docker run y buscar el valor de la clave -e .
También puede verificar qué variables env reales se completan en el contenedor en ejecución siguiendo el comando:
docker exec -it <container id> env
Esto le dará una lista de todos los env vars poblados en ese contenedor.