哪些环境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列表的方法:
-
您可以检出Dockerfile并查找
ENV
或dockerdocker run
命令并查找-e
键值。 -
你也可以通过下面的命令检查运行容器中填充了哪些实际的envvariables –
docker exec -it <container id> env
这将给你一个在该容器中的所有填充环境variables的列表。