首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何使用dockerfile将ping命令添加到我的荚中?

如何使用dockerfile将ping命令添加到我的荚中?
EN

Stack Overflow用户
提问于 2022-07-03 03:46:02
回答 1查看 869关注 0票数 0

这是我的Dockerfile

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# Build the manager binary
FROM golang:1.17 as builder

WORKDIR /workspace

# Copy the Go Modules manifests
COPY go.mod go.mod
COPY go.sum go.sum

# cache deps before building and copying source so that we don't need to re-download as much
# and so that source changes don't invalidate our downloaded layer
RUN go mod download

# Copy the go source
COPY main.go main.go
COPY api/ api/
COPY controllers/ controllers/
COPY opt/ opt/
RUN ls -altr /workspace
RUN chmod 775 /workspace/opt

# Build
RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -a -o manager main.go

FROM alpine as alpine
RUN apk add --no-cache bash

FROM scratch

COPY --from=alpine /lib/ld-musl-x86_64.so.1 /lib/ld-musl-x86_64.so.1
COPY --from=alpine /bin/ping ./ping

FROM registry.access.redhat.com/ubi8/ubi-minimal:latest
WORKDIR /
COPY --from=builder /workspace/manager .
COPY --from=builder /workspace/opt ./opt

RUN chgrp 0 /manager \
    && chmod g=u /manager

RUN chgrp 0 /opt \
    && chmod g=u /opt

ENTRYPOINT ["/manager","./ping"]

在构建图像之后,我使用

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
kubectl exec -it pod/controller-manager-deploy-5748468c5f-f4xrk -n cdg -- /bin/bash

登录到吊舱后,如果我运行ping命令

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@controller-manager-deploy-5748468c5f-f4xrk /]# ping
bash: ping: command not found

我收到了这条错误消息。

在这个容器中的/usr/bin文件夹中,我只能看到这些包

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@controller-manager-deploy-5748468c5f-f4xrk bin]# ls
'['           comm            db_verify        gapplication           gpgv2       md5sum               pwd           shred      tsort
 alias        command         dd               gawk                   grep        microdnf             read          shuf       tty
 arch         coreutils       df               gdbus                  groups      mkdir                readlink      sleep      type
 awk          cp              dir              gencat                 gsettings   mkfifo               realpath      sort       tzselect
 b2sum        csplit          dircolors        getconf                hash        mknod                rm            sotruss    ulimit
 base32       curl            dirmngr          getent                 head        mktemp               rmdir         split      umask
 base64       cut             dirmngr-client   getopts                hostid      modulemd-validator   rpm           sprof      unalias
 basename     date            dirname          gio                    iconv       mv                   rpm2archive   stat       uname
 bash         db_archive      du               gio-querymodules-64    id          nice                 rpm2cpio      stdbuf     unexpand
 bashbug      db_checkpoint   echo             glib-compile-schemas   info        nl                   rpmdb         stty       uniq
 bashbug-64   db_deadlock     egrep            gpg                    install     nohup                rpmkeys       sum        unlink
 bg           db_dump         env              gpg-agent              jobs        nproc                rpmquery      sync       update-ca-trust
 brotli       db_dump185      expand           gpg-connect-agent      join        numfmt               rpmverify     tac        users
 ca-legacy    db_hotbackup    expr             gpg-error              ld.so       od                   runcon        tail       vdir
 cat          db_load         factor           gpg-wks-server         ldd         p11-kit              sed           tee        wait
 catchsegv    db_log_verify   false            gpg-zip                link        paste                seq           test       watchgnupg
 cd           db_printlog     fc               gpg2                   ln          pathchk              sh            timeout    wc
 chcon        db_recover      fg               gpgconf                locale      pldd                 sha1sum       touch      who
 chgrp        db_replicate    fgrep            gpgme-json             localedef   pr                   sha224sum     tr         whoami
 chmod        db_stat         fmt              gpgparsemail           logname     printenv             sha256sum     true       xmlcatalog
 chown        db_tuner        fold             gpgsplit               ls          printf               sha384sum     truncate   xmllint
 cksum        db_upgrade      g13              gpgv                   makedb      ptx                  sha512sum     trust      yes

这里找不到ping命令。我必须在我的dockerfile中使用哪些命令来添加ping、openssl、uuidgen、jq、hostname、ip,以便我可以在吊舱内使用它?任何帮助都是非常感谢的。提前感谢!

EN

回答 1

Stack Overflow用户

发布于 2022-08-08 23:19:39

这基本上可以安装您想安装的任何包,您可以简单地在基本阶段或最后阶段添加运行选项,对于基于Debian/Ubuntu的映像,如下所示:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
FROM base AS final
WORKDIR /
COPY --from=builder /workspace/manager .
COPY --from=builder /workspace/opt ./opt
######################
# Installing ping
RUN apt-get update
RUN apt-get install -y iputils-ping # <- change this according to your image
######################
RUN chgrp 0 /manager \    
    && chmod g=u /manager

RUN chgrp 0 /opt \
    && chmod g=u /opt

ENTRYPOINT ["/manager","./ping"]

根据linuxshelltips提示的这篇文章,以下是安装ping的方法:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$ sudo apt install iputils-ping    [On Debian, Ubuntu and Mint]
$ sudo yum install iputils         [On RHEL/CentOS/Fedora and Rocky Linux/AlmaLinux]
$ sudo emerge -a net-misc/iputils  [On Gentoo Linux]
$ sudo pacman -S iputils           [On Arch Linux]
$ sudo zypper install iputils      [On OpenSUSE]   

我不知道RedHat UBI映像是基于哪个发行版的,但我猜是RHEL吗?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72846222

复制
相关文章
cmd ping命令大全_ping命令怎么使用
ping是一种Computer network tools(电脑网络工具),作用是测试数据包是否能通过IP协议到达特定主机。Ping是Windows系统、Unix系统和Linux系统下的一个命令。它也属于一个通信协议,是TCP/IP协议的一部分。利用“ping”命令可以检查网络是否连通,可以很好地帮助我们分析和判定网络故障。该命令还可以加许多参数使用。例如:-t,-l, – n。(注意,所有ping指令都必须在知道IP的情况下使用)
全栈程序员站长
2022/11/08
8K0
cmd ping命令大全_ping命令怎么使用
如何使用Ping命令进行故障排查?
Ping功能是基于ICMP协议来实现的:源端向目的端发送ICMP请求(ECHO-REQUEST)报文后,根据是否收到目的端的ICMP应答(ECHO-RESPONSE)报文来判断目的端是否可达。
网络工程师笔记
2021/05/17
1.5K0
cmd ping大包命令_cmd中ping命令无效
在cmd中用PING命令时,出现’Ping’ 不是内部或外部命令,也不是可运行的程序或批处理文件。
全栈程序员站长
2022/10/05
4.5K0
ping命令的使用及代码_通过命令查看ping路径
在这个时代,科技越来越发达,网络已经越来越成为人们不可缺少的一部分。计算机也已经是很多学校的课程了,因为计算机技术是非常有技术性的专业,它其中涉及到很多专业知识,需要通过学习才能掌握。今日小编就为大家介绍一个计算机的命令,它叫做Ping,这边介绍一下它的入 门 知识,主要是关于ping连接和命令方面的介绍。
全栈程序员站长
2022/08/02
4.1K0
Ping 命令是如何工作的?
Ping 是一种常用的网络诊断工具,用于测试与目标服务器之间的连接质量和延迟。通过发送 ICMP(Internet Control Message Protocol)回显请求消息,Ping 命令可以测量往返时间(Round Trip Time,RTT)以及检测目标主机是否可达。
网络技术联盟站
2023/09/01
1.8K0
Ping 命令是如何工作的?
如何使用ReconAIzer将OpenAI添加到Burp中
ReconAIzer是一款功能强大的Burp Suite扩展,该工具基于Jython开发,可以为Burp Stuite添加OpenAI能力,并利用OpenAI来优化和增强渗透测试过程中的网络侦查任务。该工具专为漏洞猎人和渗透测试人员设计,支持以自动化的形式执行多种网络安全任务,可以帮助广大安全研究人员以简单快速的形式识别和利用漏洞。
FB客服
2023/08/08
2740
如何使用ReconAIzer将OpenAI添加到Burp中
Dockerfile 中的 COPY 与 ADD 命令
Dockerfile 中提供了两个非常相似的命令 COPY 和 ADD,本文尝试解释这两个命令的基本功能,以及其异同点,然后总结其各自适合的应用场景。
星哥玩云
2022/07/14
2.3K0
Dockerfile 中的 COPY 与 ADD 命令
Dockerfile中CMD与ENTRYPOINT命令的区别
Exec格式:指令 ["executable", "param1", "param2", ...]
YP小站
2021/11/26
4.4K0
(转) Dockerfile 中的 COPY 与 ADD 命令
Dockerfile 中提供了两个非常相似的命令 COPY 和 ADD,本文尝试解释这两个命令的基本功能,以及其异同点,然后总结其各自适合的应用场景。
mafeifan
2018/09/10
7.4K1
(转)  Dockerfile 中的 COPY 与 ADD 命令
Python中调用Ping命令,批量IP
#!/usr/bin/env python #coding:UTF-8 ''''''' Author: jefferchen@163.com 可在命令行直接带目的IP,也可将IP列表在文本文件中。 pingip.py -d DestIP DestIP示例: a)单个: 192.168.11.1 b)多个: 192.168.11.1;172.16.8.1;176.13.18.2 c)网段: 192.168.11.1-127
py3study
2020/01/06
1.6K0
别再只会使用简单的ping命令了,Linux中这些高级ping命令可以提高工作效率!
当你需要测试网络连接或者诊断网络问题时,ping命令是一个非常有用的工具。除了基本的用法,ping还有一些高级用法,可以帮助你更好地使用它。
网络技术联盟站
2023/04/17
3.7K0
别再只会使用简单的ping命令了,Linux中这些高级ping命令可以提高工作效率!
Dockerfile快速使用和docker命令扩展
FROM用于指定基础的镜像,语法为FROM <image>:<tag>,tag表示版本,省略时默认是最新版本,如:
陌无崖
2019/08/28
9980
Dockerfile快速使用和docker命令扩展
ping, telnet, tcping 命令使用及对比
1. ping 命令 ping 命令只能检查 IP 的连通性或网络连接速度,无法具体到某个端口。
全栈程序员站长
2022/09/09
4K1
ping, telnet, tcping 命令使用及对比
Linux系统使用ping命令实例讲解
  ping命令相信大家已经再熟悉不过了,但是能把ping的功能发挥到最大的人却并不是很多,当然我也并不是说我可以让ping发挥最大的功能,我也只不过经常用ping这个工具,本篇文章重点为大家讲解一下Linux下ping命令使用实例。
会长君
2023/04/25
7.3K0
你知道ping命令是如何工作的吗?
我们用来测试一台机器与另一台机器的网络连通性一般会使用ping命令,那么你知道ping命令是如何工作的吗?ping命令是基于ICMP协议工作的。
Regan Yue
2023/07/10
4040
你知道ping命令是如何工作的吗?
电脑ping命令显示不是内部命令_cmd一直ping的命令
在cmd中用PING命令时,出现’Ping’ 不是内部或外部命令,也不是可运行的程序或批处理文件。
全栈程序员站长
2022/09/29
2.3K0
Linux 命令(109)—— ping 命令
ping(Packet Internet Groper 命令是因特网包探索器,用于测试网络连通性,是常用的网络命令之一。
恋喵大鲤鱼
2020/02/17
15.7K0
Dockerfile命令详解
版权声明:欢迎交流,菲宇运维!
菲宇
2019/06/11
1.2K0
Dockerfile命令(上)
这里我们以制作nginx镜像为例子,首先我们创建一个自定义nginx目录,然后创建Dockerfile文件。
清风穆云
2021/08/09
3550
点击加载更多

相似问题

Dockerfile是如何添加命令的?

12

如何在Dockerfile中添加git克隆命令

13

通过DNS对状态集的Ping荚

11

如何添加荚0.3.3

12

Dockerfile找不到我的

23
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

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

洞察 腾讯核心技术

剖析业界实践案例

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