Docker构建kubectl镜像的实现步骤

假如程序服务是使用 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镜像内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Docker基于现有镜像构建新镜像的实现方法

    由现有镜像构建新镜像都是通过Dockerfile文档来实现的. 1.新建Dockerfile文档 在/home文件夹下新建一个文件夹,专门用来测试的,/docker/test文件夹,在文件夹中新建一个Dockerfile文档,文档中写入以下内容: FROM ubuntu:18.04 RUN apt-get update RUN apt-get install -y vim EXPOSE 80 Dockerfile文档中,每行的第一个关键字都必须大写. 第一行的意思是新建镜像的源镜像是Ubuntu

  • 使用Docker多阶段构建来减小镜像大小的方法

    本文讲述了如何通过 Docker 的多阶段构建功能来大幅度减小镜像大小,适用于需要在 Dockerfile 中构建程式(如 javac),且需要另外安装编译工具链的镜像.(如 Java) 先来学习单词(本文全部采用中文词汇,如需查询外文文档可对照该词汇表.理论上个人不赞成翻译术语): multi-stage 多阶段 build 构建 image 镜像 stage 阶段 再来看一下效果: 原 110M+,现 92M. 对比一下 Dockerfile 优化前 Dockerfile: FROM ope

  • docker 手动构建新镜像的方法

    本文介绍了docker 手动构建新镜像的方法,分享给大家,具体如下: 查看本地现有镜像: [root@docker ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE nginx latest c59f17fe53b0 4 days ago 108MB ubuntu latest 747cb2d60bbe 3 weeks ago 122MB centos latest 196e0ce0c9fb 6 weeks ago 197MB 现在利用

  • Docker构建Maven+Tomcat基础镜像的实现

    前言 在 Java 编程中,大多数应用都是是基于 Maven 构建的,而交付的结果大多是采用的 Tomcat 的 war 包形式,所以,构建一个基于 Maven 和 Tomcat 的基础镜像很有必要,不仅能帮助我们提升平时自主实验研究分析的效率,还可以在一定程度能减少运维减少编写 Dockerfile 的复杂度,提升整体项目交付效率. 1.创建编译目录 mkdir -p build_docker cd build_docker vim Dockerfile 2.编写 Dockerfile 首先,

  • 使用Docker构建企业级自定义镜像的方法

    前言 临下班前,楼主接到了一个需求,由于基础镜像标准发生变更,需要按照最新的Docker 镜像标准构建自己应用的自定义镜像.目前的标准是这样的:基础架构组只提供所有项目必须接入的3个公共镜像,这3个公共基础镜像包含了:JDK8.Skywalking.Arthas.对于各自业务组的应用如果还需要加入其它镜像,则由各个业务组自己基于基础架构组提供的公共镜像之上,再添加自定义的镜像,结构图如下: 构建步骤 编写Dockerfile 基于最新的规范来看,我们需要编写一个Dockerfile,然后引用基础

  • 如何基于Dockerfile构建tomcat镜像

    dockerfile 是用来构建docker镜像的文件!命令参数脚本! 构建步骤: 编写一个dockerfile 文件 docker build 构建成一个镜像 docker run 运行镜像 docker push 发布镜像(DockerHub.阿里云镜像仓库) # 以contes为例 查看 dockerhub 上 contes 的 dockerfile FROM scratch ADD centos-7-x86_64-docker.tar.xz / LABEL \ org.label-sch

  • 如何将本地构建好的docker镜像发布到dockerhub

    今天我们介绍如何将本地docker项目镜像发布到dockerhub上,好了废话不多说,直接进入正题: (1)去注册dockerhub账号: (2)账号注册好之后,我们创建一个仓库,用于存放镜像 (3)到这一步,我们已经可以看到创建成功界面 仓库路径:nbidashboard/nbiplatform (4)查看本地容器信息 sudo docker ps (5)提交容器: sudo docker commit CONTAINER ID nbidashboard/nbiplatform sudo do

  • 使用Docker构建一个Git镜像使用clone仓库

    概述 使用docker已经有一年多了,最近意识到,我在快速编排服务的时候,shell脚本里用到的git还是原生的 于是打算也将git容器化,在dockerhub上搜罗了一筐,找到这个镜像下载量比较高 进去看了dockerfile后,感觉不太适合需求 这里没有提供卷,也没有提供ssh,既不能把仓库映射到宿主机,也没有提供clone私有仓库的功能(小声bb:都可以做到,但是不方便).其他的gitclient镜像也都大同小异. 只能自己造个轮子了. 镜像地址 本文的镜像以push到dockerhub,

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

    假如程序服务是使用 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

  • 使用Docker构建开发环境的方法步骤( Windows和mac)

    目录 1. 使用 Docker 的好处 2. 安装 Docker 1) Linux 安装 Docker 2) Windows 10 3) macOS 3. Docker 换源 1) Linux 换源 2) Windows 和 Mac 换源 4. 编写 Dockerfile 5. 编写 docker-compose.yml 6. 启动容器 7. 总结 我们在开发中都会遇到这样的问题:在本地开发好功能后,部署到服务器,或者其他人拉到本地接着开发时,会出现功能无法使用的情况. 这些异常情况,大多数时候

  • spring boot利用docker构建gradle项目的实现步骤

    前言 这是一篇关系到四个知识点的文章,分别是java,docker,springboot和gradle,我们希望在java环境下,使用springboot框架,通过gradle去构建项目,然后把项目部署和运行在docker容器里! 更多关于gradle的介绍大家可以参考这篇文章://www.jb51.net/article/125602.htm Java运行时 springboot开源脚手架 gradle最流行的项目构建工具 docker最流行的容器产品 下面话不多说了,来一起看看详细的介绍:

  • Docker拉取镜像的完整步骤

    1. docker pull 拉取镜像 使用 $ docker pull {IMAGE_NAME} 拉取镜像时,有两种情况: IMAGE_NAME 第一个斜杠之前有域名标识 Docker 会将 IMAGE_NAME 识别为带域名的镜像.例如,myregistry.io/space1/image1:latest ,Docker 会去 myregistry.io 指向的服务器请求镜像数据.一个 Docker 镜像分为很多层,如果本地存在该层,则不会再次拉取. IMAGE_NAME 第一个斜杠之前没有

  • Docker进阶之构建自定义镜像实战指南

    目录 一.什么是 Docker 镜像? 二.自定义镜像的好处? 三.构建自己的Centos 四.RUN.CMD和ENTRYPOINT的区别 五.[实战]Dockerfile制作tomcat镜像 小结 一.什么是 Docker 镜像? Docker 镜像可以看作是一个特殊的文件系统,除了提供容器运行时所需的程序.库.资源.配置等文件外,还包含了一些为运行时准备的一些配置参数(如匿名卷.环境变量.用户等).镜像不包含任何动态数据,其内容在构建之后也不会被改变. 镜像是Docker容器的基石,容器是镜

  • Maven插件构建Docker镜像的实现步骤

    背景 微服务架构下,微服务在带来良好的设计和架构理念的同时,也带来了运维上的额外复杂性,尤其是在服务部署和服务监控上.单体应用是集中式的,就一个单体跑在一起,部署和管理的时候非常简单,而微服务是一个网状分布的,有很多服务需要维护和管理,对它进行部署和维护的时候则比较复杂. 下面从Dev的角度来看一下Ops的工作.从Dev提交代码,到完成集成测试的一系列步骤如下: 首先是开发人员把程序代码更新后上传到Git,然后其他的事情都将由Jenkins自动完成. 然后Git在接收到用户更新的代码后,会把消息

  • 通过Dockerfile构建Docker镜像的方法步骤

    Dockerfile是一个文本文件,其内包含了一条条的指令(Instruction),每一条指令构建一层,因此每一条指令的内容,就是描述该层应当如何构建. Dockerfile支持Shell类的行尾添加"\"的命令换行方式,以及行首"#"进行注释的格式. 使用Dockerfile构建Docker镜像时注意事项: (1).尽量选取满足需求但较小的基础系统镜像; (2).清理编译生成文件.安装包的缓存等临时文件; (3).安装各个软件时候要指定准确的版本号,并避免引入不

  • SpringBoot创建Docker镜像的方法步骤

    随着越来越多的组织转向容器和虚拟服务器,Docker正成为软件开发工作流程中一个更重要的部分.为此,Spring Boot 2.3中最新的功能之中,提供了为Spring Boot应用程序创建 Docker 镜像的能力. 这篇文章的目的,就是为了给大家介绍如何为 Spring Boot 应用程序创建 Docker 镜像. 1. 传统Docker构建 使用Spring Boot 构建 Docker 镜像的传统方法是使用 Dockerfile .下面是一个简单的例子: FROM openjdk:8-j

随机推荐