• 技术文章 >运维 >Docker

    docker中create与run的区别是什么

    长期闲置长期闲置2022-01-10 10:26:26原创119

    在docker中,create命令与run命令都可以创建一个新的容器,区别就是create命令创建一个新的容器但是不启动它,而run命令创建一个新的容器会运行一个命令。

    本教程操作环境:linux7.3系统、docker-1.13.1版、Dell G3电脑

    docker中create与run的区别是什么

    以下是这些命令的用途:

    让我们用例子来看看它,这样你就能更清楚地知道事情。

    让我们通过示例来查看它

    如果要遵循示例,请确保已安装 Docker。

    假设您使用 docker pull ubuntu 命令从 Docker Hub 下载 Ubuntu 映像。

    您可以查看系统上所有可用的 Docker 映像。在这个例子中,我只有ubuntu(为了避免混淆):

    # docker images
    REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
    ubuntu              latest              775349758637        5 weeks ago         64.2MB

    现在,使用 docker create 命令创建一个名为 container-1 的新docker容器:

    # docker create --name container-1 ubuntu
    6a81a998658e9e0d3b612ee65b07d76a45d79812d860baf3f1cbc60fe997ebec

    可以看到它已创建一个新容器。如果尝试查看所有正在运行的容器,则不会看到 container-1,因为尽管它已创建,但从未启动过。

    # docker ps
    CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES

    如果检查所有容器,无论它们是否正在运行,都会看到 container-1 具有"已创建"状态:

    # docker ps -a
    CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
    6a81a998658e        ubuntu              "/bin/bash"         18 seconds ago      Created                                 container-1

    现在,让我们使用docker run 命令来创建并运行一个名为 container-2 的容器:

    # docker run -it -d --name container-2 ubuntu bash
    6391c1a0cac6c9f5fc6f5cfb05d75a22c208e63223c3b231035a40a4b134c521

    您可以看到容器-2 正在运行,因为它的状态为"已启动":

    # docker ps
    CONTAINER ID        IMAGE               COMMAND             CREATED              STATUS              PORTS               NAMES
    6391c1a0cac6        ubuntu              "bash"              About a minute ago   Up About a minute                       container-2

    让我们停止这个正在运行的容器:

    # docker stop container-2
    container-2
    # docker ps
    CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
    # docker ps -a
    CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                      PORTS               NAMES
    6391c1a0cac6        ubuntu              "bash"              2 minutes ago       Exited (0) 28 seconds ago                       container-2
    6a81a998658e        ubuntu              "/bin/bash"         3 minutes ago       Created                                         container-1

    现在我们有一个停止的容器,您可以使用docker start 命令再次启动它:

    # docker start container-2
    container-2
    # docker ps
    CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
    6391c1a0cac6        ubuntu              "bash"              2 minutes ago       Up 2 seconds                            container-2

    但是,使用 docker create 命令创建的 container-1 会发生什么情况呢?您可以使用 docker start 命令启动此容器,然后使用docker exec运行特定的东西。

    推荐学习:《docker视频教程

    以上就是docker中create与run的区别是什么的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:docker
    上一篇:docker的logo是什么 下一篇:如何解决docker 内存 不足问题

    相关文章推荐

    • 如何解决docker-machine无法启动的问题• docker ping不通宿主机怎么办• ubuntu自带docker吗• 如何解决docker文件分享失败问题• docker win10找不到命令怎么办

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网