Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >从容器内获取停靠容器ID及其主机路径

从容器内获取停靠容器ID及其主机路径
EN

Stack Overflow用户
提问于 2019-12-18 20:02:34
回答 2查看 1.5K关注 0票数 0

我正在运行一个Jenkins声明性管道,其中一个阶段运行在一个码头容器上,并输出一个文件。我希望将这个文件从容器复制到主机的git init路径,以便将新输出的文件提交到源git存储库。

为了将输出的文件从容器复制到主机的git init路径,我可以使用docker cp命令(为此需要容器ID )和目标路径(在本例中是主机的git init路径)。

有人能分享如何得到这两个值的想法吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-12-19 03:26:19

通常你不会做这两件事。Docker是一个隔离系统,其目的是向容器隐藏主机系统的大部分细节(反之亦然);此外,容器文件系统往往不会以易于提取的方式存储在主机上。

当您是码头与管道结合使用时,它知道如何将当前的工作树挂载到容器中,所以最简单的方法是

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
stage('Something') {
  agent {
    docker { image 'my-image' }
  }
  steps {
    sh 'the_command'
  }
}

或者,如果您使用的是脚本管道

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
docker.image('my-image').inside {
  sh 'the_command'
}

在这两种情况下,the_command都会运行,其当前工作目录是按构建的工作区目录;它不需要知道它在Docker中运行,也不需要知道主机的任何信息,它写入到这个目录中的任何更改在构建的其他地方都是可见的。

更广泛地说,如果希望容器内的进程生成在主机上可见的文件,则需要在运行容器时使用docker run -v选项将其放入容器中。(在前面的示例中,Jenkins日志将包含一个显示这些选项的详细docker run命令。)如果应用程序的主要目标是生成主机可见的文件,那么在Docker之外运行它可能会更容易。如果Jenkins也在Docker中运行,请注意,docker run -v的第一个路径选项总是物理主机上的路径,因此无法将一个容器的文件系统映射到另一个容器中。

票数 1
EN

Stack Overflow用户

发布于 2019-12-19 00:33:36

您可以通过此cmd获取容器内的停靠容器ID:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cat /proc/self/cgroup | grep -o  -e "docker-.*.scope" | head -n 1 | sed "s/docker-\(.*\).scope/\\1/"
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59403140

复制
相关文章
在容器内获取 Pod 信息
注意:env 不直接设置 value,而是使用 valueFrom 对 Pod 的元数据进行引用
看、未来
2022/09/27
8970
获取docker容器的主机虚拟网卡
起因 今天看到一个做docker开发工程师写的如何实现docker网络隔离的方案,总的来说就是找到docker容器对应的主机虚拟网卡,然后使用wondershaper或traffic control对虚拟网卡进行流量控制。这个方案还是比较简单的,不过看了下他给出的如何找容器对应的主机虚拟网卡的步骤,觉得还是过于麻烦,而且还依赖于nsenter与ethtool命令,这个感觉不太好,就想着要进行一下这个过程。 改进 因为以前看到pipework的源码,对如何操作容器网络还是比较了解的,于是写了个简单脚本完成上述
jeremyxu
2018/05/10
4.8K0
docker访问宿主机_docker容器获取宿主机ip
我们需要让宿主机的mysql允许远程接入。 需要授权,不同版本的mysql授权语句不一样,这个在之前讲过。 如下是mysql8.0之前版本的授权语句:
全栈程序员站长
2022/09/25
3K0
docker访问宿主机_docker容器获取宿主机ip
docker容器获取宿主机IP「建议收藏」
当以host方式启动时,其实有很大的网络权限,当ip a时,能发现显示宿主机的所有网卡及IP 使用适当的分析方法,所以很容易获取到IP: 如
全栈程序员站长
2022/09/25
5.3K0
docker容器获取宿主机IP「建议收藏」
宿主机访问容器ip_docker宿主机和容器
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/171599.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/24
5.8K0
docker :查询容器id
2.docker inspect --format="{{.Id}}" container_name
IT工作者
2022/07/28
8K0
巧用 Nsenter 调取宿主机工具调试容器内程序
nsenter 是一个可以用来进入到目标程序所在 Namespace 中运行命令的工具,一般常用于在宿主机上调试容器中运行的程序。
iMike
2020/10/27
11.6K1
巧用 Nsenter 调取宿主机工具调试容器内程序
如何在主机上调试容器、在容器中操作主机
老板有个奇怪的需求,通过一个 kubeconfig 文件,获取主机的各种状态信息,比如进程列表、进程状态等。
陈少文
2021/01/13
2.5K1
如何在主机上调试容器、在容器中操作主机
Docker容器跨主机互联
当两个Docker容器在同一主机时,可以通过--link命令让两者直接互相访问。 如果要跨主机实现容器互联,则往往需要容器知道其他物理主机的IP地址 利用Ambassador容器机制,可以让互联的容器
dys
2018/04/02
2K0
Docker容器跨主机互联
docker从容器里面拷文件到宿主机或从宿主机拷文件到docker容器里面
docker cp 容器名:要拷贝的文件在容器里面的路径 要拷贝到宿主机的相应路径
yaohong
2019/09/11
1.4K0
Docker - 解决容器内获取的时间和主机的时间不一样的问题
重点就是: -v /etc/localtime:/etc/localtime:ro
小菠萝测试笔记
2020/11/23
1.6K0
Docker -  解决容器内获取的时间和主机的时间不一样的问题
Spring 如何从 IoC 容器中获取对象?
前面几篇文章主要分析了 Spring IoC 容器如何初始化,以及解析和注册我们定义的 bean 信息。
WriteOnRead
2021/03/12
9.7K0
Spring 如何从 IoC 容器中获取对象?
Prometheus:监控主机和容器
在node exporter上设置textfile的路径: --collector.textfile.directory=/var/lib/node_exporter/textfile_collector/ 6、配置systemd收集器 node_exporter --collector.textfile.directory /var/lib/node_exporter/textfile_collector --collector.systemd --collector.systemd.unit-whitelist="(docker|ssh|rsyslog).service" 7、服务端prometheus.yml配置 scrape_configs:
用户5760343
2020/01/15
1.9K0
Docker - 容器内软件设置
概述 一个大概导览,可能会常用。 详情会在文章底部给连接。 具体内容 一、安装软件太慢换一个源 mv /etc/apt/sources.list /etc/apt/sources.list.bak cat <<EOF >/etc/apt/sources.list deb http://mirrors.ustc.edu.cn/debian stable main contrib non-free deb http://mirrors.ustc.edu.cn/debian stable-updates ma
断痕
2021/01/21
6930
详解CopyOnWrite容器及其源码
在jave.util.concurrent包下有这样两个类:CopyOnWriteArrayList和CopyOnWriteArraySet。 其中利用到了CopyOnWrite机制,本篇就来聊聊CopyOnWrite技术与Java中的CopyOnWrite容器。 主要包扩以下内容:
王金龙
2020/02/25
4080
容器技术及其应用白皮书(上)-- 容器技术
图2.2 容器技术框架
shaonbean
2019/05/26
5.6K0
容器技术及其应用白皮书(下)-- 容器应用
三、容器应用 3.1 容器技术应用场景 3.1.1 PaaS平台建设 最早的PaaS平台方案初步解决了很多客户对于应用弹性的需求,但是在容器技术之前,构建一套PaaS平台面临着组件多、量级大、改造成本高等挑战,而且对于运行在不同 PaaS 平台上的应用,很难避免应用对平台的深度依赖。譬如,不同的PaaS平台对弹性、高可用、性能、监控、日志、版本更新等的实现方式不同,则对其上应用的架构要求也不同;另外,在编程语言和技术栈方面,也会导致应用对平台供应商的深度绑定。总之,在传统PaaS平台面前,我们在开发应用
shaonbean
2019/05/26
1.9K0
如何获得Docker容器进程ID?
在某些情况下,比如系统负载很高 docker stop 无法关闭某个容器(无响应),这时可以根据容器进程的ID找到宿主机进程ID,然后强制kill掉这个容器,最好已经使用了数据卷保证数据持久化,否则强制关闭容器可能会导致容器内数据丢失(关于数据卷后续专门写一篇文章)。
用户1560186
2019/11/20
5.8K0
docker swarm 跨主机容器互联
docker swarm join --token SWMTKN-1-0p89ldytfq18roe0snxunylwq0q95um36qpnf896ogqil7uci5-0bw2g0fu2ug0ehf8vojo9s20t 192.168.1.21:2377
用户10125653
2022/11/10
1.3K0
docker swarm 跨主机容器互联
复制文件到Docker容器内
举例说明: 假设一个运行的容器ID为9a28f199688e,想要将本地文件/path/to/local-file 复制到容器中的 /path/to/destination 目录中。
程序新视界
2023/09/07
9260

相似问题

“停靠容器rm <容器ID>”vs“停靠rm <容器ID>”

12

如何使用cgroup v2从容器内获取停靠容器ID

35

根据容器id查找停靠文件路径

80

如何从容器内获取容器ID

13

从容器id及其内部pid获取主机pid。

117
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文