【Docker学习】docker start深入研究

docker start也是很简单的命令。但因为有了几个选项,又变得复杂,而且...

命令:

docker container start

描述:

启动一个或多个已停止的容器。

用法:

docker container start [OPTIONS] CONTAINER [CONTAINER...]

别名:

docker start(docker的一些命令可以简写,docker start就等同于docker container start)

选项:

选项描述备注
-a, --attach附加到标准输出(STDOUT)/标准错误(STDERR),并转发信号
--checkpoint从这个检查点恢复试验性质(守护进程)
--checkpoint-dir使用自定义的检查点存储目录试验性质(守护进程)
--detach-keys覆盖用于分离容器的键序列
-i, --interactive附加到标准输入(STDIN)

示例1:docker start

如图所示,我有两个退出状态的容器,现在打算重新启动。执行指令:

docker start data-wordpress-1 data-db-1

结果如下。data-wordpress-1和data-db-1全部启动。

示例2:选项--attach

终端A在正常启动命令中加入--attach(-a)选项

docker start -a data-wordpress-1 data-db-1
you cannot start and attach multiple containers at once

结果出现错误,也就是说,使用--attach选项,只能用于一个容器。这次只启动一个wordpress

docker start -a data-wordpress-1

可以看出,终端A给出wordpress的标准输出(STDOUT)和标准错误(STDERR)内容。

这时,我们打开另一个终端B,使用curl访问这个容器。

curl localhost:8080

可以看到终端A中输出了内容,响应了终端B的访问。

示例3:选项--checkpoint、--checkpoint-dir

这是一个试验性质的功能,未来充满不确定性。这里不做具体展开。使用该功能,还需要安装criu。请看上一篇:【Docker学习】docker checkpoint 简单了解

用法:

docker start --checkpoint CHECKPOINT_ID --checkpoint-dir DIR [OTHER OPTIONS] CONTAINER

示例4:选项--detach-keys

使用这个选项覆盖Docker的分离键序列。这在你使用的Docker默认键序列与其他应用程序发生冲突时非常有用。

要为单个容器覆盖序列,就可以使用选项--detach-keys。格式要么是一个字母[a-Z],或者是与以下任何一个结合ctrl-:

  • a-z:单个小写字母字符

  • @:@符号

  • [:左中括号

  • \\:两个反斜杠

  • _:下划线

  • ^:^符号

失败的操作,但正确的使用。

docker start --attach --detach-keys="ctrl-x" my-redis

以上命令计划使用docker start启动my-redis,并附加到标准输出和标准错误上,并设置ctrl-x来退出这种模式,并且不停止my-redis。

经过测试,结果如下:

快捷键不起作用。网上看了不少文章,说默认要使用ctrl-p、ctrl-q来使用,但是也没成功。

最终只能通过ctrl-c强行停止容器。

目前使用一种方法可以解决这一问题,就是用到docker attach的--sig-proxy选项。

docker start my-redis
docker attach --sig-proxy=false my-redis

这样ctrl-c可以退出标准输出,进入命令提示符。不过,这样attach到my-redis又看不到任何标准输出。不知道是不是只有特定的容器才会起作用。

我又尝试使用官网的例子

docker run -dit --name my-alpine alpine top -b
docker attach my-alpine

可以看到结果正常显示标准输出。

又因为使用了-i和-t选项,这次相继按下ctrl-p,ctrl-q,程序也能正常退出到命令模式,并且没有关闭my-alpine。

因为docker start只有-i,没有-t,所以是不支持分离键序列。但官网给出了这个选项,又没有测试用例,不知道是没有考虑到,还是有bug。

若是网友对这块比较熟悉,欢迎跟我讨论,不胜感激!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/589495.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

UE4_Niagara_两个模型之间的粒子幻化

学习笔记,仅供参考! 操作步骤: 1、新建niagara system,添加空的发射器,渲染改为网格体渲染器,网格体为1M_Cube. 2、创建粒子材质重载。 3、渲染网格体的材质设置: 4、在发射器属性面板&#x…

数据分析:基于DESeq2的转录组功能富集分析

介绍 DESeq2常用于识别差异基因,它主要使用了标准化因子标准化数据,再根据广义线性模型判别组间差异(组间残差是否显著判断)。在获取差异基因结果后,我们可以进行下一步的富集分析,常用方法有基于在线网站…

【二等奖水平论文】2024五一数学建模C题22页保奖论文+22页matlab和13页python完整建模代码、可视图表+分解结果等(后续会更新)

一定要点击文末的卡片,那是资料获取的入口! 点击链接加入群聊【2024五一数学建模】:http://qm.qq.com/cgi-bin/qm/qr?_wv1027&khoTDlhAS5N_Ffp-vucfG5WjeeJFxsWbz&authKey7oCSHS25VqSLauZ2PpiewRQ9D9PklaCxVS5X6i%2BAkDrey992f0t15…

Spark RDD的分区与依赖关系

Spark RDD的分区与依赖关系 RDD分区 RDD,Resiliennt Distributed Datasets,弹性式分布式数据集,是由若干个分区构成的,那么这每一个分区中的数据又是如何产生的呢?这就是RDD分区策略所要解决的问题,下面我…

音视频开发之旅——实现录音器、音频格式转换器和播放器(PCM文件转换为WAV文件、使用LAME编码MP3文件)(Android)

本文主要讲解的是实现录音器、音频转换器和播放器,在实现过程中需要把PCM文件转换为WAV文件,同时需要使用上一篇文章交叉编译出来的LAME库编码MP3文件。本文基于Android平台,示例代码如下所示: AndroidAudioDemo Android系列&am…

Golang | Leetcode Golang题解之第64题最小路径和

题目&#xff1a; 题解&#xff1a; func minPathSum(grid [][]int) int {if len(grid) 0 || len(grid[0]) 0 {return 0}rows, columns : len(grid), len(grid[0])dp : make([][]int, rows)for i : 0; i < len(dp); i {dp[i] make([]int, columns)}dp[0][0] grid[0][0]…

服务器IP选择

可以去https://ip.ping0.cc/查看IP的具体情况 1.IP位置--如果是国内用&#xff0c;国外服务器的话建议选择日本&#xff0c;香港这些比较好&#xff0c;因为它们离这里近&#xff0c;一般延时低&#xff08;在没有绕一圈的情况下&#xff09;。 不过GPT的话屏蔽了香港IP 2. 企…

Mac 安装John the Ripper 破解rar(zip)压缩文件

注&#xff1a;仅以此篇记录我满足好奇心所逝去的十几个小时。&#xff08;自娱自乐&#xff09; 1、首先利用 brewhome 包管理工具 安装john the ripper &#xff1a; brew install john-jumbo 如果没有安装brewhome 利用如下命令安装&#xff1a; /bin/zsh -c "$(c…

LeetCode-网络延迟时间(Dijkstra算法)

每日一题 今天刷到一道有关的图的题&#xff0c;需要求单源最短路径&#xff0c;因此使用Dijkstra算法。 题目要求 有 n 个网络节点&#xff0c;标记为 1 到 n。 给你一个列表 times&#xff0c;表示信号经过 有向 边的传递时间。 times[i] (ui, vi, wi)&#xff0c;其中 …

【跟马少平老师学AI】-【神经网络是怎么实现的】(七-1)词向量

一句话归纳&#xff1a; 1&#xff09;神经网络不仅可以处理图像&#xff0c;还可以处理文本。 2&#xff09;神经网络处理文本&#xff0c;先要解决文本的表示&#xff08;图像的表示用像素RGB&#xff09;。 3&#xff09;独热编码词向量&#xff1a; 词表&#xff1a;{我&am…

OpenVINO安装教程 Docker版

从 Docker 映像安装IntelDistribution OpenVINO™ 工具套件 本指南介绍了如何使用预构建的 Docker 镜像/手动创建镜像来安装 OpenVINO™ Runtime。 Docker Base 映像支持的主机操作系统&#xff1a; Linux操作系统 Windows (WSL2) macOS(仅限 CPU exectuion) 您可以使用预…

【跟马少平老师学AI】-【神经网络是怎么实现的】(八)循环神经网络

一句话归纳&#xff1a; 1&#xff09;词向量与句子向量的循环神经网络&#xff1a; x(i)为词向量。h(i)为含前i个词信息的向量。h(t)为句向量。 2&#xff09;循环神经网络的局部。 每个子网络都是标准的全连接神经网络。 3&#xff09;对句向量增加全连接层和激活函数。 每个…

I2C接口18路LED呼吸灯驱动IS31FL3218互相替代SN3218替换HTR3218

I2C接口18路LED呼吸灯控制电路IC 该型号IC为QFN24接口&#xff0c;属于小众产品&#xff0c;IS31FL3218、SN3218、HTR3218S管脚兼容&#xff0c;需要注意的是HTR3218管脚与其他型号不兼容。 I2C接口可实现多个LED灯的呼吸灯控制&#xff0c;可实现单色控制18个LED灯&#xff0…

【ARM Cache 系列文章 11.2 -- ARM Cache 组相联映射】

请阅读【ARM Cache 系列文章专栏导读】 文章目录 Cache 组相联映射组相联映射原理多路组相连缓存的优势多路组相连缓存的代价关联度&#xff08;Associativity&#xff09; 上篇文章&#xff1a;【ARM Cache 系列文章 11.1 – ARM Cache 全相连 详细介绍】 Cache 组相联映射 A…

笔记1--Llama 3 超级课堂 | Llama3概述与演进历程

1、Llama 3概述 https://github.com/SmartFlowAI/Llama3-Tutorial.git 【Llama 3 五一超级课堂 | Llama3概述与演进历程】 2、Llama 3 改进点 【最新【大模型微调】大模型llama3技术全面解析 大模型应用部署 据说llama3不满足scaling law&#xff1f;】…

Deep learning Part Five RNN--24.4.29

接着上期&#xff0c;CBOW模型无法解决文章内容过长的单词预测的&#xff0c;那该如何解决呢&#xff1f; 除此之外&#xff0c;根据图中5-5的左图所示&#xff0c;在CBOW模型的中间层求单词向量的和&#xff0c;这时就会出现另一个问题的&#xff0c;那就是上下文的单词的顺序…

Redis Zset的底层原理

Redis Zset的底层原理 ZSet也就是SortedSet&#xff0c;其中每一个元素都需要指定一个score值和member值&#xff1a; 可以根据score值排序后member必须唯一可以根据member查询分数 因此&#xff0c;zset底层数据结构必须满足键值存储、键必须唯一、可排序这几个需求。之前学…

ZooKeeper知识点总结及分布式锁实现

最初接触ZooKeeper是之前的一个公司的微服务项目中&#xff0c;涉及到Dubbo和ZooKeeper&#xff0c;ZooKeeper作为微服务的注册和配置中心。好了&#xff0c;开始介绍ZooKeeper了。 目录 1.ZooKeeper的基本概念 2.ZooKeeper的节点&#xff08;ZNode&#xff09; 3. ZooKeep…

【Java笔记】第5章:函数

前言1. 函数的理解2. 函数的基本使用3. 函数的参数4. 函数的返回值5. 函数的执行机制6. 函数的递归调用结语 ↓ 上期回顾: 【Java笔记】第4章&#xff1a;深入学习循环结构 个人主页&#xff1a;C_GUIQU 归属专栏&#xff1a;【Java学习】 ↑ 前言 各位小伙伴大家好&#xff…

[随记]Mac安装Docker及运行开源Penpot

下载Docker Desktop for Mac&#xff1a;https://www.docker.com/products/docker-desktop/ 安装Docker Desktop for Mac&#xff0c;安装完成后&#xff0c;启动Docker&#xff0c;然后在终端输入&#xff1a; docker version 在Mac电脑的Desktop&#xff0c;随便创建一个文…