docker run的选项大约有100多个,包括-d,-i,-t,-v-w。在这里将会提出10个最常见的内容,以及了解有关使用它们的更多信息和链接,以下是docker run的介绍示例:

  docker run \
  --rm \ 
  --detach \ 
  --env KEY = VALUE \ 
  --ip 10.10.100.100 \ 
  --publish 9527:9527 \ 
  --volume linuxea_volume \ 
  --name linuxea_container \ 
  --tty --interactive \ 
  --volume /linuxea_volume \ 
  --workdir / app\ 
  IMAGE bash

cli命令#

这基于image创建容器,它使用给定的选项提供的配置在容器中执行这些命令和参数

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

ps: 该docker run命令首先creates在指定的图像上写入可写容器层,然后starts使用指定的命令。

可参考linuxea:白话容器之docker存储卷概述(16)以及官方文档

相似的命令#

docker run命令类似于docker exec在现有的容器中运行命令,如果要了解这些内容,可以查看:linuxea:docker run与exec的使用差异

选项#

docker run按字母顺序排列的前10个选项。

1) --detach, -d默认情况下,Docker容器运行附加到本地标准输入,输出和错误流。该-d, --detach选项在终端会话的后台运行容器,因此不显示其输出。Docker的初学者分离模式中详细介绍了此选项:linuxea:如何在终端的后台运行容器

2) --entrypoint设置或覆盖image的默认入口点命令。入口点设置在运行容器时将首先执行的命令和参数。在docker run命令末尾传递的任何命令和参数都将附加到入口点。要了解有关使用Entrypoint的更多信息,请查看linuxea:白话容器之dockerfile CMD/entrypoint详解3(20)

3) --env, -e使用一KEY=VALUE对设置环境变量。如果文件中包含环境变量,则可以将文件路径传递给该选项--env-file

4) --ip例如,声明IP地址--ip=10.10.100.100

5) --name为容器指定名称,--name linuxea_container

6) --publish, -p | --publish-all, -P这些发布在image的Dockerfile中定义的容器和主机之间的端口映射,或者使用expose选项,--expose。该选项--publish, -p将容器的端口发布到主机,同时--publish-all , -P发布所有公开的端口。可以在linuxea:白话容器之docker的4种端口暴露方式(11)中简单了解端口映射关系,您可以在Expose vs publish中了解有关定义端口和暴露端口的更多信息:简单解释Docker端口命令

7) --rm在容器结束时自动退出容器。另一种方法是手动停止然后删除它,有关如何执行此操作的更多信息,请参阅:如何从命令行删除Docker容器

8) --tty, -t在容器内分配虚拟终端会话。这通常与选项一起使用--interactive, -i,即使在分离模式(后台运行)下运行也会使STDIN保持打开状态。最常见的用法之一*-i -t*是运行一个命令,例如*bash*,在容器中,你可以在我的帖子中看到更多关于运行bash或Docker容器中的任何命令的信息。

9) --volume, -v安装卷-v /my_volume如果您不熟悉卷,请Docker的Volumes指南中找到更多信息

10) --workdir , -w说明容器内的工作目录。例如,如果将文件复制到app容器中的文件夹中,则可能需要将工作目录设置为app

学习更多#

学习如何使用Docker CLI命令,Dockerfile命令,使用Bash命令可以帮助你更有效地使用Docker应用程序。查看Docker文档和我的其他帖子以了解更多信息。