使用docker run命令在Docker映像上丢失已安装的软件包

时间:2019-03-21 05:02:25

标签: docker

我已经使用此命令运行了一些docker镜像

C:\Users\muhammad.iqbal>docker run -it fedora
[root@13d5c5b5683b /]# yum install -y nano

该图像有效,我可以在该软呢帽图像中安装nano软件包。 但是,当退出图像并尝试再次运行已安装的软件包nano时,

C:\Users\muhammad.iqbal>docker run -it fedora
[root@8f49adc7b3af /]# nano
bash: nano: command not found

据说没有安装nano。为什么会这样?

1 个答案:

答案 0 :(得分:3)

因为您的图像每次都是新的。

docker run将创建一个容器。

简短答案:(使用docker exec

docker run -it --name=my-image fedora
#yum install -y nano

docker exec -ti my-image nano

好答案

您可以使用docker ps命令显示正在运行的容器。 或者使用docker ps -a

显示正在运行和已停止的容器

要处理图像时,需要创建一个容器以保留数据并进行处理。

docker run将创建容器。

通过指定--name=my-image,会将您的容器名称设置为:my-image,这将用于标识您的容器。

您可以使用以下命令停止图像:docker stop my-image 您可以使用以下命令启动它:docker start my-image

如果没有后台进程在运行,您的容器将自动停止。但是您可以使用以下命令进入内部:docker exec -ti my-image sh。然后执行所需的命令。您可以使用sh,bash或图像所使用的任何命令。

请记住,docker run将创建一个新容器,这意味着您将从默认映像开始。这是docker的功能。