在使用docker命令创build并提交更改后无法看到文件
我创build了名为“task1”的docker集装箱。
我执行一个shell命令创build一个包含单词“hello”的文件foo.txt。
我提交docker容器“task1”
我用-it命令以交互模式进入docker container“task1”
但是我没有看到文件“foo.txt”。 我期待这个,因为我已经做了容器。 但是,当我只是通过“ls”命令,并在同一个容器“task1”中执行它,它显示文件“foo.txt”。
这里有什么问题? 以下是我正在尝试上述活动的控制台详细信息。 感谢你的帮助。 谢谢。
~/G/S/d/d/H/test_io master ± docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 35784a56ffa3 task1 "/bin/bash" 5 seconds ago Up 4 seconds task2 eb03c7b89e36 task1 "/bin/bash" 6 minutes ago Up 6 minutes clever_bell 352c6f8f1ff2 registry:2 "/bin/registry /etc/d" 10 days ago Up About an hour 0.0.0.0:5000->5000/tcp registry ~/G/S/d/d/H/test_io master ± docker exec -it eb03c7b89e36 script /dev/null -c "echo 'Hello' > foo.txt" Script started, file is /dev/null Script done, file is /dev/null ~/G/S/d/d/H/test_io master ± docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 35784a56ffa3 task1 "/bin/bash" 2 minutes ago Up 2 minutes task2 eb03c7b89e36 task1 "/bin/bash" 8 minutes ago Up 8 minutes clever_bell 352c6f8f1ff2 registry:2 "/bin/registry /etc/d" 10 days ago Up About an hour 0.0.0.0:5000->5000/tcp registry ~/G/S/d/d/H/test_io master ± docker commit eb03c7b89e36 6d8666dc72caa36f436c46fe65e5beb6a1421ea27867153658303e430a33f126 ~/G/S/d/d/H/test_io master ± docker run -it task1 root@aad8db09c5fe:/# ls bin boot dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var root@aad8db09c5fe:/# exit exit ~/G/S/d/d/H/test_io master ± docker exec -it eb03c7b89e36 ls bin dev foo.txt lib media opt root sbin sys usr boot etc home lib64 mnt proc run srv tmp var ~/G/S/d/d/H/test_io master ± docker start clever_bell clever_bell ~/G/S/d/d/H/test_io master ± docker run -it task1 root@4bfba10c7c49:/# ls bin boot dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var root@4bfba10c7c49:/# exit exit
docker commit <container>
不会以任何方式改变容器的图像; 它只是创build一个独立于原始图像的新图像。 如果您想要更新test1
图像,则需要为新图像指定一个名称: docker commit <container> test1
。