tongchenkeji 发表于:2023-7-12 8:56:080次点击 已关注取消关注 关注 私信 Serverless应用引擎的容器里不支持公网下载命令,怎么给打包telnet,等到镜像里?[阿里云Serverless] 暂停朗读为您朗读 Serverless应用引擎的容器里不支持公网下载命令,怎么给打包telnet,等到镜像里? 「点点赞赏,手留余香」 赞赏 还没有人赞赏,快来当第一个赞赏的人吧! 海报 Serverless 应用引擎# Serverless2886# Serverless 应用引擎556# 容器895
算精通AM 2023-11-28 2:43:59 1 在本地制作一个包含命令的Dockerfile比如: dockerfileCopyFROM pythonRUN apk add –no-cache telnetCOPY . /appWORKDIR /app这里通过apk add 将telnet命令打包进镜像。 构建本地镜像bashCopydocker build -t myimage .将镜像推送到容器镜像存储服务,如镜像仓库Copydocker push registry.cn-hangzhou.aliyuncs.com/myimage在Serverless应用引擎指定这个镜像作为函数运行时选择自定义运行时,配置为推送到仓库的镜像地址。 然后部署函数。 函数运行时就包含了 telnet 命令通过在本地Dockerfile中通过RUN 或者COPY命令,将需要的命令打包进镜像。
Star时光AM 2023-11-28 2:43:59 2 在Serverless应用引擎(SAE)中,容器默认情况下是无法直接访问公网的,因此在容器中执行公网下载命令可能会受到限制。不过,您可以通过以下方式将telnet等工具添加到容器镜像中: 创建自定义镜像:您可以使用Dockerfile来创建自定义的镜像,并在其中安装所需的telnet等工具。在Dockerfile中使用合适的基础镜像,例如Alpine或Ubuntu,然后运行相应的安装命令,如apt-get install telnet、yum install telnet等。 构建和上传镜像:根据Dockerfile构建自定义镜像,并将其上传到阿里云容器镜像服务(Container Registry)或其他镜像仓库中。确保将镜像标记为适当的版本,并将其推送到可供SAE访问的镜像仓库中。 在SAE中使用自定义镜像:在SAE控制台或通过命令行工具,指定您创建的自定义镜像作为应用的容器镜像。这样,当SAE启动应用时,它将使用您提供的自定义镜像,并且其中已经包含了所需的telnet等工具。
在本地制作一个包含命令的Dockerfile
比如:
dockerfile
Copy
FROM python
RUN apk add –no-cache telnet
COPY . /app
WORKDIR /app
这里通过apk add 将telnet命令打包进镜像。
构建本地镜像
bash
Copy
docker build -t myimage .
将镜像推送到容器镜像存储服务,如镜像仓库
Copy
docker push registry.cn-hangzhou.aliyuncs.com/myimage
在Serverless应用引擎指定这个镜像作为函数运行时
选择自定义运行时,配置为推送到仓库的镜像地址。
然后部署函数。
函数运行时就包含了 telnet 命令
通过在本地Dockerfile中通过RUN 或者COPY命令,将需要的命令打包进镜像。
在Serverless应用引擎(SAE)中,容器默认情况下是无法直接访问公网的,因此在容器中执行公网下载命令可能会受到限制。不过,您可以通过以下方式将telnet等工具添加到容器镜像中:
创建自定义镜像:您可以使用Dockerfile来创建自定义的镜像,并在其中安装所需的telnet等工具。在Dockerfile中使用合适的基础镜像,例如Alpine或Ubuntu,然后运行相应的安装命令,如
apt-get install telnet
、yum install telnet
等。构建和上传镜像:根据Dockerfile构建自定义镜像,并将其上传到阿里云容器镜像服务(Container Registry)或其他镜像仓库中。确保将镜像标记为适当的版本,并将其推送到可供SAE访问的镜像仓库中。
在SAE中使用自定义镜像:在SAE控制台或通过命令行工具,指定您创建的自定义镜像作为应用的容器镜像。这样,当SAE启动应用时,它将使用您提供的自定义镜像,并且其中已经包含了所需的telnet等工具。