docker构建在kubernetes节点中失败

时间:2018-09-19 06:23:29

标签: docker jenkins kubernetes

使用Kops设置K8s集群

export KOPS_STATE_STORE=s3://clusters.aind.devops
export ZONES=ap-south-1a
export VPC=vpc-xxxxx
export node_count=2
export node_size=m4.large
export master_size=t2.medium
export api_loadbalancer_type=public
export topology=private
export dns=private
export dns_zone=Z25L42E21ILH89
export CLIENT=test

它创建了2个节点和1个主节点 而且我尝试设置Jenkins docker build slave来在pod中构建docker镜像

我的构建失败

Sending build context to Docker daemon 15.36 kB
Step 1/3 : FROM ubuntu
 ---> cd6d8154f1e1
Step 2/3 : RUN apt-get update -y
 ---> Using cache
 ---> 8007c6693623
Step 3/3 : RUN apt-get install vim -y
 ---> Running in cbbafcb6a37b
Reading package lists...
Building dependency tree...
Reading state information...
E: Unable to locate package vim
The command '/bin/sh -c apt-get install vim -y' returned a non-zero code: 100

当我登录到该节点并在该节点上运行相同的构建失败时,似乎docker daemon没有获得DNS重新配置

请帮助

2 个答案:

答案 0 :(得分:1)

为什么要在集群中构建映像? 正确的方法是:

  1. 在另一台服务器上托管詹金斯
  2. 在那建立图像
  3. 将图像推送到本地Docker注册表
  4. 然后通过从注册表中提取在k8s集群上运行映像

创建本地Docker注册表:

关于为什么找不到vim软件包,请通过ping 8.8.8.8检查网络连接。默认情况下,如果节点具有Internet连接,则docker守护程序也具有Internet连接。

答案 1 :(得分:0)

尝试指定Docker构建选项--network host。我已经看到了Docker容器即使主机可以到达也无法到达网络的地方。