在Docker构build过程中似乎完美安装的程序不在运行容器中

我有一个dockerfile似乎成功安装各种程序。

在这里,例如,我安装了sfdx-cli:

RUN wget -O - https://developer.salesforce.com/media/salesforce-cli/sfdx-linux-amd64.tar.xz | tar Jxv && sfdx/install && rm -rf sfdx 

我知道这是成功的,因为后续的行会导致它自行更新。

这里是另一个例子,我安装apt-transport-https:

 RUN apt-get install -y apt-transport-https 

我知道这是有效的,因为下一行安装依赖apt-transport-https的heroku:

 RUN apt-get update && apt-get install -y heroku 

但是,当我运行一个基于这个映像的容器时,sfdx-cli和apt-transport-https都不存在。 我使用“查找/”命令进行search,无法find它们,更不用说在他们预期的位置。

一般情况下容器运行良好,有许多项目在场和工作。 例如,“heroku”命令工作正常。

我显然错过了docker工作的基本方式,但是我在网上找不到任何关于这个的东西。

以下是当前的Dockerfile: https ://gist.github.com/alexed1/ad4917f53bed34318e1aa2801a82e911

这是我的构build命令:

 docker build . -t alexed1:dev5 

这是我的运行命令:

 docker run -it -v /Users/aedelstein/Dropbox/dev:/home/alexed/dev \ -p 8000:8000 -p 5000:5000 -p 80:80 -p 1717:1717 alexed1/dev5 

图像名称由两个组件和repository和一个:tag 。 如果不指定:tag ,则默认为:latest

正在运行的容器正在使用映像alexed1/dev5 。 这相当于标签alexed1/dev5:latest

正在构build的图像是不同的,并被标记为alexed1:dev5

要运行构build的图像,请使用

 docker run -it -v /Users/aedelstein/Dropbox/dev:/home/alexed/dev \ -p 8000:8000 -p 5000:5000 -p 80:80 -p 1717:1717 alexed1:dev5