gpt4 book ai didi

docker - 根据标准图片创建新图片

转载 作者:行者123 更新时间:2023-12-02 20:06:07 24 4
gpt4 key购买 nike

我已经安装了Docker并使用以下命令运行了一些Ubuntu镜像:

sudo docker run ubuntu

我想在上面创建一些文本文件,并在下次运行同一图像时找到它。如何实现呢?

UPD。

在附加到docker时遇到问题。
我正在运行docker
docker ps -a
aef01293fdc9 ubuntu "/bin/bash" 6 hours ago Up 6 hours priceless_ramanujan

由于它是 Up模式,因此我想不需要执行命令:
docker start priceless_ramanujan

所以,我运行命令 attach
docker attach priceless_ramanujan

当命令不返回时,输出什么也没有。

为什么我无法达到容器的要求?

最佳答案

简单的例子:

$ docker run -it ubuntu
root@4d5643e8c1a8:/# echo "test" > test.txt
root@4d5643e8c1a8:/# cat test.txt
test
root@4d5643e8c1a8:/# exit
exit

$ docker run -it ubuntu
root@cdb44750bffc:/# cat test.txt
cat: test.txt: No such file or directory
root@cdb44750bffc:/#

docker运行 image_name
该命令根据提供的 image_name创建并启动一个 新的容器。如果未为容器设置名称,则由docker生成并分配一个随机名称。在上面的示例中,基于 ubuntu创建了2个容器。
  • docker ps -a我们可以看到modest_jenningsoptimistic_leakey是创建的随机名称:
    $ docker ps -a
    CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
    cdb44750bffc ubuntu "/bin/bash" About a minute ago Exited (1) 4 seconds ago optimistic_leakey
    4d5643e8c1a8 ubuntu "/bin/bash" 2 minutes ago Exited (0) 2 minutes ago modest_jennings
  • cat test.txt第二次失败,因为该文件不存在。容器从“干净的” ubuntu图像开始。

  • 实际上,我们仅在 test.txt中创建了 modest_jennings

    docker 开始 container_name
    该命令启动一个停止的容器。因此,在我们的例子中,文件仍然存在:
    $ docker start modest_jennings 
    modest_jennings
    $ docker attach modest_jennings
    root@4d5643e8c1a8:/# cat test.txt
    test
    root@4d5643e8c1a8:/#

    docker 提交 container_name image_name
    此命令用于创建新镜像,以便您以后可以使用它并基于该镜像运行容器。继续我们的例子...
    $ docker commit modest_jennings my_ubuntu
    sha256:a4357f37153ac0b94e37315595f1a3b540538283adc3721df4d4e3b39bf8334f
    $ docker run -it my_ubuntu
    root@2e38616d532a:/# cat test.txt
    test
    root@2e38616d532a:/#

    关于docker - 根据标准图片创建新图片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49316553/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com