Docker构建kubectl镜像的实现步骤_docker

来源:脚本之家  责任编辑:小易  

假如程序服务是使用 k8s 集成 gitlab ci/cd 方式部署的,在 gitlab-ci 过程中就需要用到 kubeclt 镜像
使用 docker 构建 kubectl 镜像有两种方式

方式一 (镜像相对较小一点,45.8M左右)

在 Linux 上使用 curl 安装 kubectl 可执行文件

cd /usr/local/bin
curl -LO https://storage.googleapis.com/kubernetes-release/release/v1.20.1/bin/linux/amd64/kubectl
chmod +x ./kubectl

详细参考 官方安装文档

接下来在 /usr/local/bin 目录下新建 Dockerfile 文件,写入内容如下

FROM alpine:latest
COPY kubectl /usr/local/bin/
RUN chmod +x /usr/local/bin/kubectl

Dockerfile 文件建好后,在同目录下执行构建命令

docker build -t registry.cn-hangzhou.aliyuncs.com/sanchar/kubectl:v1.20.1 .

等待镜像构建完成

方式二(镜像相对大一些,48.9M左右)

此方式相对方便一些,不过构建比较慢,构建过程中需要下载 kubectl 可执行文件
直接新建 Dockerfile 文件,写入内容如下

FROM alpine:latest

RUN apk add --update -t deps curl

RUN curl -L https://storage.googleapis.com/kubernetes-release/release/v1.20.1/bin/linux/amd64/kubectl -o /usr/local/bin/kubectl \
  && chmod +x /usr/local/bin/kubectl

RUN apk del --purge deps \
  && rm /var/cache/apk/*

在同目录下执行构建命令

docker build -t registry.cn-hangzhou.aliyuncs.com/sanchar/kubectl:v1.20.1 .

最后

1、测试构建的镜像是否可以正常使用

docker run -it registry.cn-hangzhou.aliyuncs.com/sanchar/kubectl:v1.20.1 kubectl version --client

输出内容如下即构建的镜像可以正常使用

Client Version: version.Info{Major:"1", Minor:"20", GitVersion:"v1.20.1", GitCommit:"c4d752765b3bbac2237bf87cf0b1c2e307844666", GitTreeState:"clean", BuildDate:"2020-12-18T12:09:25Z", GoVersion:"go1.15.5", Compiler:"gc", Platform:"linux/amd64"}

 2、从Registry中拉取镜像

docker pull registry.cn-hangzhou.aliyuncs.com/sanchar/kubectl:v1.20.1

3、将镜像推送到Registry,[ImageId] 替换成对应的镜像ID

docker login --username=用户名 registry.cn-hangzhou.aliyuncs.com

docker tag [ImageId] registry.cn-hangzhou.aliyuncs.com/sanchar/kubectl:v1.20.1

docker push registry.cn-hangzhou.aliyuncs.com/sanchar/kubectl:v1.20.1

到此这篇关于Docker构建kubectl镜像的实现步骤的文章就介绍到这了,更多相关Docker构建kubectl镜像内容请搜索真格学网以前的文章或继续浏览下面的相关文章希望大家以后多多支持真格学网!

您可能感兴趣的文章:使用Docker构建一个Git镜像使用clone仓库如何基于Dockerfile构建tomcat镜像使用Docker构建企业级自定义镜像的方法如何将本地构建好的docker镜像发布到dockerhubDocker构建Maven+Tomcat基础镜像的实现使用Docker多阶段构建来减小镜像大小的方法docker 手动构建新镜像的方法Docker基于现有镜像构建新镜像的实现方法

  • 本文相关:
  • 使用docker开发python web 应用
  • jenkins构建docker 镜像实例详解
  • 在docker容器中不需要运行sshd的原因浅析
  • centos7虚拟机安装并配置docker套件
  • docker运行springboot项目的实现
  • 使用docker容器搭建mysql主从复制
  • docker容器数据卷原理及使用方法解析
  • docker使用link在容器之间建立连接
  • 重启docker服务应用自启停命令(推荐)
  • pip安装docker-compose超时问题解决方案
  • 如何构建Memcached Docker容器
  • 如何构建Memcached Docker容器
  • 如何构建Memcached Docker容器
  • 网站首页网页制作脚本下载服务器操作系统网站运营平面设计媒体动画电脑基础硬件教程网络安全dockerhyper-vvmwarevirtualboxxenserverkvmqemuopenvzxencloudstackopenstack云计算技术云其它首页服务器云和虚拟化docker使用docker构建一个git镜像使用clone仓库如何基于dockerfile构建tomcat镜像使用docker构建企业级自定义镜像的方法如何将本地构建好的docker镜像发布到dockerhubdocker构建maven+tomcat基础镜像的实现使用docker多阶段构建来减小镜像大小的方法docker 手动构建新镜像的方法docker基于现有镜像构建新镜像的实现方法使用docker开发python web 应用jenkins构建docker 镜像实例详解在docker容器中不需要运行sshd的原因浅析centos7虚拟机安装并配置docker套件docker运行springboot项目的实现使用docker容器搭建mysql主从复制docker容器数据卷原理及使用方法解析docker使用link在容器之间建立连接重启docker服务应用自启停命令(推荐)pip安装docker-compose超时问题解决方案docker 给运行中的容器设置端口映docker获取镜像报错docker: errodocker.service启动失败:unit ndocker 清理命令集锦浅谈docker-compose网络设置之neubuntu14.04+docker的安装及使用docker容器如何优雅的终止详解docker容器访问宿主机网络的方法详解如何使用docker部署一个web项详解docker国内镜像拉取和镜像加重启docker服务应用自启停命令(推荐)docker创建容器时目录权限踩坑解决docker容器启动后马上退出的问题docker基础教程之dockerfile语法详解如何快速清理 docker 资源的方法docker之点到点的容器网络的配置docker 限制容器可用的cpu的方式docker如何制作自己镜像并上传dockerhubdocker学习笔记之把容器commit成镜像的方一条命令重启所有已停止的docker容器操作
    免责声明 - 关于我们 - 联系我们 - 广告联系 - 友情链接 - 帮助中心 - 频道导航
    Copyright © 2017 www.zgxue.com All Rights Reserved