docker和Helm Chart的基本命令和操作

一、docker基本命令和操作

1. docker login【登录】

登录 docker client,登录成功之后会显示 Login Succeeded。

docker login登陆到指定的镜像仓库,docker pull 和 docker push 操作都需要预先执行 docker login 操作;

指令:(这里的用户名、密码和镜像仓库都换成自己的)

bash 复制代码
docker login -u <username> -p <password> iregistry.baidu-int.com

举例说明:

➜  ~ docker login -u yangxiaonan01 -p Xxxxxxx123 iregistry.baidu-int.com 
    WARNING! Using --password via the CLI is insecure. Use --password-stdin.
    Login Succeeded
2.docker pull【拉取】

指令:

bash 复制代码
docker pull iregistry.baidu-int.com/<namespace>/IMAGE[:TAG]

举例说明:

➜  ~ docker pull iregistry.baidu-int.com/xk-repo-test/centos-test:1.0.1
    1.0.1: Pulling from xk-repo-test/centos-test
    8a29a15cefae: Pull complete 
    Digest: sha256:9e0c275e0bcb495773b10a18e499985d782810e47b4fce076422acb4bc3da3dd
    Status: Downloaded newer image for iregistry.baidu-int.com/xk-repo-test/centos-test:1.0.1
    iregistry.baidu-int.com/xk-repo-test/centos-test:1.0.1
3.docker save【保存】

指令:

bash 复制代码
docker save -o 景象名.tar 镜像地址

该指令会将镜像保存在本地,执行命令的目录上

4.docker build【构建】

指令:

bash 复制代码
docker build -f <dockerFile> -t iregistry.baidu-int.com/<namespace>/IMAGE[:TAG] <contextPath>

注意:

dockerFile:一个用来构建镜像的文本文件

  • namespace:命名空间。一个组织维度,包含多个镜像仓库,和chart
  • IMAGE:镜像名称
  • TAG:镜像标签
  • contextPath:指定构建镜像的上下文的路径,构建镜像的过程中,可以且只可以引用上下文中的任何文件

举例说明:

➜  ~ vi ~/Desktop/work/DockerFile/dockerfile-nginx 

➜  ~ cat ~/Desktop/work/DockerFile/dockerfile-nginx 
FROM iregistry.baidu-int.com/yxn-test/nginx:latest
MAINTAINER yxn<yangxiaonan01@baidu.com>

➜  ~ docker build -f ~/Desktop/work/DockerFile/dockerfile-nginx -t iregistry.baidu-int.com/yxn-test/nginx:v1.0 .

➜  ~ docker images
REPOSITORY                                    TAG       IMAGE ID       CREATED         SIZE
iregistry.baidu-int.com/yxn-test/nginx        v1.0      1a6c19b45d6e   2 days ago      133MB
5.docker push【推送】

指令:

docker push iregistry.baidu-int.com//IMAGE[:TAG]

注意:

  • namespace:命名空间。一个组织维度,包含多个镜像仓库,和chart
  • IMAGE:镜像名称
  • TAG:镜像标签

举例说明:

bash 复制代码
   ➜  ~ docker push iregistry.baidu-int.com/yxn-test/centos-test:1.0.1     
        The push refers to repository [iregistry.baidu-int.com/yxn-test/mysql]
        03a007e88ba3: Pushed 
        d605c112cfab: Pushed 
        74634a9cf30b: Pushed 
        ea5fd90d1e58: Pushed 
        cffd1f984514: Pushed 
        3182d4b853f0: Pushed 
        ae477702a513: Pushed 
        570df12e998c: Pushed 
        b2abc2ad4a41: Pushed 
        e82f328cb5e6: Pushed 
        14be0d40572c: Pushed 
        02c055ef67f5: Pushed 
        latest: digest: sha256:68b207d01891915410db3b5bc1f69963e3dc8f23813fd01e61e6d7e7e3a46680 size: 2828
6.docker tag【打标签】

指令:

bash 复制代码
docker tag SOURCE_IMAGE[:TAG] iregistry.baidu-int.com/<namespace>/IMAGE[:TAG]

注意:

  • namespace:命名空间。一个组织维度,包含多个镜像仓库,和chart
  • IMAGE:镜像名称
  • TAG:镜像标签

举例说明:

bash 复制代码
  docker tag iregistry.baidu-int.com/xk-repo-test/centos-test:1.0.1  iregistry.baidu-int.com/yxn-test/centos-test:1.0.2

二、Chart的基本命令和操作

1. helm安装与配置

参考文档:https://helm.sh/docs/intro/install/

2. 添加仓库

简介:根据iRegistry仓库的用户名、密码,在本地添加chart repo【注意:添加一次即可】

指令:

helm repo add --username --password https://iregistry.baidu-int.com/chartrepo/

注意:

namespace:命名空间。一个组织维度,包含多个镜像仓库,和chart

指令执行结果,举例说明:

➜  ~ helm repo add --username yangxiaonan01 --password Yangxiaonan01 yxn-test https://iregistry.baidu-int.com/chartrepo/yxn-test
"yxn-test" has been added to your repositories
➜  ~ helm repo list                                                                                     
NAME    	URL                                               
yxn-test	https://iregistry.baidu-int.com/chartrepo/yxn-test

3.下载 Chart

简介:从chart仓库中下载指定版本的chart到本地;

第一步:配置 helm fetch 时使用的密码,详见【Helm Chart基本操作 --> 前提】,若已经配置过,则跳过;

第二步:本地添加仓库,详见【Helm Chart基本操作 --> 添加仓库】,若已经添加过,则跳过;

指令:

helm fetch --version <Chart 版本> <本地仓库名称>/<Chart 名称>

指令执行结果,举例说明:

➜  ~ helm fetch --version 0.1.0-145583081-1609409229920 yxn-test/helm2-demo

4.上传 Chart

简介:将本地中存在的chart文件上传到iRegistry镜像仓库中;

第一步:配置helm push的密码,详见【Helm Chart基本操作 --> 前提】,若已经配置过,则跳过;

第二步:安装 helm push 插件,参考链接:helm push插件安装;

第三步:本地添加仓库,详见【Helm Chart基本操作 --> 添加仓库】,若已经添加过,则跳过;

第四步:上传chart,helm push

  • chart package:charts文件包
  • charts repo:charts仓库名称
    指令:
bash 复制代码
➜  ~ helm plugin install https://github.com/chartmuseum/helm-push.git # 第二步:安装helm push插件
Downloading and installing helm-push v0.9.0 ...
https://github.com/chartmuseum/helm-push/releases/download/v0.9.0/helm-push_0.9.0_darwin_amd64.tar.gz
Installed plugin: push    

➜  ~ helm repo add --username yangxiaonan01 --password Xxxx1234  yxn-test https://iregistry.baidu-int.com/chartrepo/yxn-test # 第三步:添加仓库
"yxn-test" has been added to your repositories

➜  ~ helm repo list  # 查看仓库列表
NAME        	URL                                                   
yxn-test    	https://iregistry.baidu-int.com/chartrepo/yxn-test    

➜  ~ helm push ~/Downloads/sec-brain-web-0.0.1-162952076.tgz yxn-test  # 第四步:上传chart                                 
Pushing sec-brain-web-0.0.1-162952076.tgz to yxn-test...
Done.

5.安装 Chart

简介:将某个chart版本部署到k8s集群中;

第一步:配置 helm install 时使用的密码,详见【Helm Chart基本操作 --> 前提】,若已经配置过,则跳过;

第二步:本地添加仓库,详见【Helm Chart基本操作 --> 添加仓库】,若已经添加过,则跳过;

第三步:执行helm install 指令:

helm install --username= --password= --version <Chart 版本> <本地仓库名称>/<Chart 名称>

相关推荐
梅见十柒31 分钟前
wsl2中kali linux下的docker使用教程(教程总结)
linux·经验分享·docker·云原生
O&REO3 小时前
单机部署kubernetes环境下Overleaf-基于MicroK8s的Overleaf应用部署指南
云原生·容器·kubernetes
运维小文4 小时前
K8S资源限制之LimitRange
云原生·容器·kubernetes·k8s资源限制
登云时刻4 小时前
Kubernetes集群外连接redis集群和使用redis-shake工具迁移数据(二)
redis·容器·kubernetes
wuxingge12 小时前
k8s1.30.0高可用集群部署
云原生·容器·kubernetes
志凌海纳SmartX13 小时前
趋势洞察|AI 能否带动裸金属 K8s 强势崛起?
云原生·容器·kubernetes
锅总13 小时前
nacos与k8s service健康检查详解
云原生·容器·kubernetes
BUG弄潮儿14 小时前
k8s 集群安装
云原生·容器·kubernetes
意疏14 小时前
【Linux 篇】Docker 的容器之海与镜像之岛:于 Linux 系统内探索容器化的奇妙航行
linux·docker
墨鸦_Cormorant14 小时前
使用docker快速部署Nginx、Redis、MySQL、Tomcat以及制作镜像
redis·nginx·docker