如何获取环境variables以保存到导入的Docker镜像中

我用以下创build一个Dockerfile:

FROM ubuntu ENV test this 

我在当前目录中构build图像:

 docker build -t="test" . 

我运行这个图像,只是为了确认我的环境variables已设置:

 docker run -t -i <image id> /bin/bash 

我在正在运行的容器中键入set ,并确认test=this

退出容器后,我使用以下两个命令导出图像:

 cont=`docker run -d <image id> ls` docker export $cont > test.tar 

然后我通过以下方式导入图像:

 cat test.tar | docker import - imported 

运行新的图像:

 docker run -t -i <image id returned from prev cmd> /bin/bash 

我在这个正在运行的容器中键入set ,并且我的环境variables不再存在

我究竟做错了什么?

我已经用其他命令的图像做了这个,除了环境variables外,其他所有的东西似乎都保留下来了。

您可以保存图像,而不是导出容器:

 docker save your/image > /home/you/some-file.tar 

如果使用save ,则需要使用load来恢复映像:

 docker load < /home/you/some-file.tar 

我写了一篇有关export差异的博客文章,并在几个星期前save : http : //tuhrig.de/difference-between-save-and-export-in-docker/