docker基础(六)之docker create和docker exec

概述

用于学习和记录,以下内容来自chatgpt3.5,网络等,补充例子。

本文介绍了docker create,docker exec,以及docker rundocker execdocker create之间的区别和联系。

docker系列其他文章:docker专栏

docker run 文章请查看:
docker基础(四)之docker run(第一弹)
docker基础(五)之docker run(第二弹)

docker create

创建一个新的容器但不启动它
用法同 docker run

语法

docker create [OPTIONS] IMAGE [COMMAND] [ARG...]

语法同 docker run

实例

使用docker镜像nginx:latest创建一个容器,并将容器命名为myrunoob

docker create  --name myrunoob  nginx:latest 

docker exec

docker exec :在运行的容器中执行命令

语法

docker exec [OPTIONS] CONTAINER COMMAND [ARG...]

OPTIONS说明:

  • -d :分离模式: 在后台运行
  • -i :即使没有附加也保持STDIN 打开
  • -t :分配一个伪终端docker exec 命令用于在正在运行的容器中执行命令。

示例

开启伪终端

docker exec -i -t my_container bash

这个命令将会在名为my_container的容器中执行 bash 命令,并且分配一个伪终端,使得用户可以与容器进行交互。

在容器内部运行一个简单的命令:

docker exec my_container ls -l

这个命令将会在名为 my_container 的容器中执行 ls -l 命令来列出容器内的文件和目录。
使用场景

docker run、docker exec 和 docker create比较

docker rundocker execdocker createDocker 中常用的命令,它们分别有不同的作用和使用场景:

docker run

用于创建并启动一个新的容器。这个命令是在创建新容器时最常用的命令。通过 docker run,你可以指定镜像、端口映射、环境变量等容器运行所需的配置选项。使用 docker run 可以创建一个全新的容器并在其中运行指定的应用程序。

使用场景:

当你需要启动一个新的容器并运行一个应用程序时,通常会使用 docker run。

docker exec

用于在正在运行的容器中执行命令。 这个命令允许你进入一个已经运行的容器内部,并在其中执行特定的命令,或启动伪终端之后执行命令。

使用场景:

当容器已经在运行中,你需要在其内部执行特定的命令,或者需要进行调试和排查问题时,可以使用 docker exec

docker create

用于创建一个新的容器但不启动它。 这个命令会创建一个新的容器,但是容器并不会自动启动,你需要在之后手动启动这个容器

使用场景:

当你需要创建一个容器但不希望立刻启动它时,你可以使用 docker create。这种情况可能发生在你需要在以后的某个时间点手动启动容器,或者需要预先创建容器并在稍后进行配置后再启动。

总结

docker run 和 docker create 都可以从镜像创建新的容器。区别为,前者 创建并启动。后者创建但不启动。

docker exec 不能创建新容器,只能在已经创建的容器,且这个容器在运行状态下,执行命令或者启动伪终端执行命令。

相关推荐

  1. docker基础()docker createdocker exec

    2024-03-24 04:04:05       37 阅读
  2. ubuntu1404安装dockerce

    2024-03-24 04:04:05       39 阅读
  3. Dockerr开发环境搭建

    2024-03-24 04:04:05       54 阅读
  4. docker基础(三)docker rmdocker rmi

    2024-03-24 04:04:05       45 阅读
  5. docker入门问题

    2024-03-24 04:04:05       52 阅读
  6. 、golang基础面向对象特征

    2024-03-24 04:04:05       25 阅读
  7. docker基础(二)docker build

    2024-03-24 04:04:05       33 阅读
  8. docker基础篇一

    2024-03-24 04:04:05       51 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-24 04:04:05       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-24 04:04:05       101 阅读
  3. 在Django里面运行非项目文件

    2024-03-24 04:04:05       82 阅读
  4. Python语言-面向对象

    2024-03-24 04:04:05       91 阅读

热门阅读

  1. Android 车联网——CarWatchdogService介绍(二十)

    2024-03-24 04:04:05       42 阅读
  2. 网络安全威胁

    2024-03-24 04:04:05       45 阅读
  3. 【计算机原理】计算机原理学习入门要点

    2024-03-24 04:04:05       32 阅读
  4. 【leetcode热题】打家劫舍

    2024-03-24 04:04:05       39 阅读
  5. C++_第四周做题总结

    2024-03-24 04:04:05       36 阅读
  6. i2c-tools基本用法

    2024-03-24 04:04:05       41 阅读
  7. 【C++之string类】

    2024-03-24 04:04:05       33 阅读
  8. 《原型模式(极简c++)》

    2024-03-24 04:04:05       57 阅读
  9. os.path模块(二)

    2024-03-24 04:04:05       39 阅读
  10. Go语言介绍

    2024-03-24 04:04:05       49 阅读
  11. 如何快速上手vue?

    2024-03-24 04:04:05       45 阅读
  12. vivado 布线、路线_设计

    2024-03-24 04:04:05       49 阅读