docker基础(四)之docker run(第一弹)

概述

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

本文介绍了docker run的基础用法,及这些options的详细解释和例子。包括 -a stdin;-d, -i, -t, -P, -p, --rm, --name, --dns, --dns-search

docker系列其他文章:docker专栏

由于内容比较多,分为两篇博文,本文只对部分options进行详细说明,其他选项说明可以查看:
docker基础(五)之docker run(第二弹)

其他相关:docker基础(六)之docker create和docker exec

语法

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

docker run 创建一个新的容器并运行一个命令

命令选项用法速查

  • -a stdin: 指定标准输入输出内容类型,可选 STDIN/STDOUT/STDERR 三项;
  • -d: 后台运行容器,并返回容器ID;
  • -i: 以交互模式运行容器,通常与-t同时使用;
  • -P: 随机端口映射,容器内部端口随机映射到主机的端口
  • -p: 指定端口映射,格式为:主机(宿主)端口:容器端口
  • -t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;
  • --name="nginx-lb: 为容器指定一个名称;
  • --dns 8.8.8.8: 指定容器使用的DNS服务器,默认和宿主一致;
  • --dns-search example.com: 指定容器DNS搜索域名,默认和宿主一致;
  • -h "mars": 指定容器的hostname;
  • -e username="ritchie": 设置环境变量;
  • --env-file=[]: 从指定文件读入环境变量;
  • --cpuset="0-2" or --cpuset="0,1,2": 绑定容器到指定CPU运行;
  • -m :设置容器使用内存最大值;
  • --net="bridge": 指定容器的网络连接类型,支持 bridge/host/none/container 四种类型;
  • --link=[]: 添加链接到另一个容器;
  • --expose=[]: 开放一个端口或一组端口;
  • --volume , -v: 绑定一个卷

OPTIONS说明:

-a stdin

指定标准输入输出内容类型,可选STDIN/STDOUT/STDERR三项.

STDIN/STDOUT/STDERR指的是什么?

这些是标准的I/O流程符号

STDIN(标准输入)是指向程序的输入流,可以通过键盘或者重定向输入到程序中。

STDOUT(标准输出)是指向程序的输出流,程序默认会将输出发送到标准输出,可以重定向到文件或者其他地方。

STDERR(标准错误)也是一个输出流,用于发送程序的错误信息。

在Docker中,-a stdin参数可以将容器的标准输入重定向到指定的文件或设备,而STDIN/STDOUT/STDERR则是定义了标准的输入、输出、错误流的含义。

举例

假设我们有一个简单的Docker容器,该容器内部的程序需要从标准输入读取数据并将结果输出到标准输出或标准错误。

将容器的标准输入、标准输出、标准错误重定向到本地文件

我们可以使用docker run命令来启动一个容器,并将容器的标准输入、标准输出、标准错误重定向到本地文件。假设我们有一个名为"input.txt"的文件,我们想将其内容作为容器的标准输入,并将容器的标准输出和标准错误分别重定向到"output.txt"和"error.txt"文件中,我们可以使用以下命令:

docker run -i -a stdin=input.txt -a stdout=output.txt -
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值