docker 容器移植(Docker构建kubectl镜像的实现步骤)
类别:服务器 浏览量:387
时间:2021-11-03 12:50:35 docker 容器移植
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镜像内容请搜索开心学习网以前的文章或继续浏览下面的相关文章希望大家以后多多支持开心学习网!
您可能感兴趣
- 关于docker安全之Docker-TLS加密通讯问题(关于docker安全之Docker-TLS加密通讯问题)
- 容器之间的通信docker(Docker容器互访的三种方法)
- docker部署高性能服务器(Docker部署SQL Server 2019 Always On集群的实现)
- harbor 1.8安装部署(docker5 全功能harbor仓库搭建过程)
- springbootdocker详解(Spring Boot 2.4 新特性之一键构建Docker镜像的过程详解)
- docker compose使用方法(docker和docker-compose一键安装教程支持在线和离线)
- docker容器是怎么进行通信的(Docker容器间通信与外网通信的操作)
- docker的postgres镜像包(Docker中运行PostgreSQL并推荐几款连接工具)
- docker管理脚本(Docker可视化ui管理工具Portainer安装及使用解析)
- docker无法启动内存不足(解决docker磁盘空间不足问题)
- docker-compose配置文件(Docker Compose在不同环境的多种安装方式)
- docker线上部署流程(Docker部署Rancher的方法无坑)
- docker与本地存储(docker 设置windows存储路径的操作)
- 2022-01-26 01:41:54
- docker如何改tomcat(docker安装Tomcat 404问题的解决方案)
- docker镜像实例(Docker的镜像制作与整套项目一键打包部署的实现)
- 泰国美女(泰国人妖和女性如何区分)
- 泰国旅游业怎么样(泰国的旅游产业)
- 越南新娘(越南新娘婚介网站)
- 越南新娘(越南新娘骗婚套路流程)
- 菲律宾游学(菲律宾游学中介机构)
- 菲律宾美食(菲律宾美食排行榜前十名)
热门推荐
- IEnumerable的用法
- dedecms命名规则(dedecms 文章标题长度的控制方法)
- vue 单文件组件(vue实现一个单文件组件的完整过程记录)
- vueelementui动态表格(Vue Element前端应用开发之常规的JS处理函数)
- sql except用法
- react代码展示(教你如何从 html 实现一个 react)
- idea的mysql如何连接(在IntelliJ IDEA中使用Java连接MySQL数据库的方法详解)
- python 接口测试怎么校验json数据(python接口自动化十七--Json 数据处理---一次爬坑记详解)
- sqlserver怎么写判断条件(SQL Server之SELECT INTO 和 INSERT INTO SELECT案例详解)
- vue3.0零基础入门(快速掌握Vue3.0中如何上手Vuex状态管理)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9