gpt4 book ai didi

Docker -it 命令与 Docker 镜像或 Docker 容器相关

转载 作者:行者123 更新时间:2023-12-02 18:09:56 28 4
gpt4 key购买 nike

我是 Docker 的新手,正在尝试使用 101-tutorial docker image( https://github.com/dockersamples/101-tutorial ) 了解 Docker

enter image description here

在本课中,他们试图解释当从同一个镜像运行 2 个容器实例时,第一个容器创建的数据在默认情况下在第二个容器中不可用(除非我们使用容器卷和挂载,等)。

第 1 点和第 2 点显示 ubuntu 容器正在运行并且有一个名为 data.txt 的文件。

据我了解,docker -it 用于访问 docker 容器内的终端。 https://docs.docker.com/engine/reference/run/

但是我不明白第三点中使用的命令。为什么 docker run -it ubuntu ls/ 命令在 Ubuntu 镜像上运行,而不是在使用容器 ID 的容器上运行?该命令是否仅用于显示图像中的内容,而不是使用 ls/ 显示 docker 容器中的内容?

我预计第 3 点应该创建另一个容器实例然后运行 ​​ls/ 但是根据 docker ps 我看到我的容器中只有一个 ubuntu 容器在运行机器。

最佳答案

正如它在 documentation for docker run 中所说的那样:

Docker runs processes in isolated containers. A container is a process which runs on a host. The host may be local or remote. When an operator executes docker run, the container process that runs is isolated in that it has its own file system, its own networking, and its own isolated process tree separate from the host.

进程完成后,容器将关闭。

至于你的问题是“指图像还是容器”——你将图像作为创建容器的参数,然后在创建的容器中运行进程。

Docker 容器的生命周期是:

  • docker run imagename -> 从图像 imagename 创建容器 x
  • docker exec x ls -> 在running容器x中执行命令ls >
  • docker stop x -> 停止容器(但在 docker container ls -a 中仍然可见)
  • docker start x -> 重启容器x
  • docker stop x -> 再次停止容器x
  • docker rm x -> 删除容器 x(现在 ls -a 也不会显示)

关于Docker -it 命令与 Docker 镜像或 Docker 容器相关,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62385968/

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