哪些环境variables可以用于Docker镜像?

我只是在学习Docker。 如果我想使用Docker Hub中的特定映像,例如mysql,我怎么知道哪些环境variables可以用于该Docker映像? 任何方式来获得可用variables的列表?

如果你看一下Dockerfile for Mysql,比如

https://github.com/docker-library/mysql/blob/f42fa91856b557940a4ddd86d70cc2518cab818b/8.0/Dockerfile

(或更一般的任何Dockerfile来自

https://hub.docker.com/r/_/mysql/

你只是search

ENV

Dockerfile中的行

如果Dockerfile不可用,你可以随时做

docker history --no-trunc myimage

并寻找

ENV

线

你可以简单地运行它并看看。 这是我试图运行时得到的

 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_PASSWORD 

两种获取envvariables列表的方法:

  1. 您可以检出Dockerfile并查找ENV或docker docker run命令并查找-e键值。

  2. 你也可以通过下面的命令检查运行容器中填充了哪些实际的envvariables –

    docker exec -it <container id> env

这将给你一个在该容器中的所有填充环境variables的列表。