我以mysql映像为例,但是问题很普遍。
用于在docker中启动mysqld的密码在docker ps中不可见,但在docker inspect中可见:
sudo docker run --name mysql-5.7.7 -e MYSQL_ROOT_PASSWORD=12345 -d mysql:5.7.7 CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES b98afde2fab7 mysql:5.7.7 "/entrypoint.sh mysq 6 seconds ago Up 5 seconds 3306/tcp mysql-5.7.7 sudo docker inspect b98afde2fab75ca433c46ba504759c4826fa7ffcbe09c44307c0538007499e2a "Env": [ "MYSQL_ROOT_PASSWORD=12345", "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin", "MYSQL_MAJOR=5.7", "MYSQL_VERSION=5.7.7-rc" ]
有没有一种方法可以隐藏/混淆启动容器时传递的环境参数。或者,是否可以通过引用文件来传递敏感参数?
从文档http://docs.docker.com/reference/commandline/run/中 提取出来,您说“或者可以通过引用文件来传递敏感参数吗?” --env-file=[] Read in a file of environment variables。
--env-file=[] Read in a file of environment variables