docker build 镜像时deamo过大导致cannot allocate memory的问题

[root@jenkins-master DEV-sk_platform_brand_furniture]# docker build -t registry.xxxx.com/sk_platform_brand_furniture_dev:master .
Sending build context to Docker daemon 1.254 GB
Step 1/6 : FROM basic-registry.xxxx.com/xxxx/nginx
 ---> 60037cd86b92
Step 2/6 : MAINTAINER waitfish from ltx_sean
 ---> Using cache
 ---> 284219de173f
Step 3/6 : COPY publish/ /data/web/
mkdir /data/docker/overlay/4f23aea89c4c6b0b8544fccd100fe5ca5b68272e0891a77d85692d069cf86e8f/merged/data/web/: cannot allocate memory

#
#
在Jenkins的job根目录下docker build 镜像可能会因为目录下的文件特别多特别大,导致docker daemon也跟着大进而服务器没有可分配的内存使用。
解决这个问题有两个办法:
1.把Dockerfile换个目录文件少的地方执行

2.使用.dockerignore文件,设置黑名单,该文件包含的目录不会被发送到Docker daemon中
#
#


#
#
#
#
#

#
#
#
#

[root@jenkins-master DEV-sk_platform_brand_furniture]# cat .dockerignore
*
!Dockerfile
!publish/*
!run.sh
!web.conf

#
#

#
#

第一行的"*"表示的意思是把所有目录都拒绝了
第二行 !Dockerfile 代表允许此文件
第三行"!publish/*"表示被接受的路径,把我们的目录也添加到这里,再docker build就OK了

#
#
#
#

#
#
注意也可以使用.dockerignore文件,设置黑名单

**/node_modules
/src/utils/request-temp.js
/.vscode
.DS_Store
npm-debug.log*
yarn-error.log
/coverage
.idea
yarn.lock
package-lock.json
*bak
.vscode
.history
*.log
functions/mock
.temp/**
.umi
.umi-production
.firebase
appveyor.yml

#
#

原文地址:http://blog.51cto.com/13386520/2350850

时间: 2024-10-29 01:47:20

docker build 镜像时deamo过大导致cannot allocate memory的问题的相关文章

angular8 打包时 文件过大 导致内存溢出解决方案(记录)

在package.json 中添加 "scripts": { "ng": "ng", "start": "ng serve", "build": "ng build", "test": "ng test", "lint": "ng lint", "buildTest":

解决Docker build时 Sending build context to Docker daemon 过大的问题

当使用Dockerfile Build镜像时,优势会发现发送到Daemo的内容过大 build image:q_build/javaweb:20150910174642Sending build context to Docker daemon 4.768 GBSending build context to Docker daemon  Step 0 : FROM 192.168.100.123:5000/q_basic/javaweb:1.0  ---> 0aab72ab2945 Step 

docker build 时 alpine 无法安装软件问题的解决

使用 alpine 作为 docker 基础镜像时,运行 apk add ..... 遇到如下错误: WARNING: Ignoring http://dl-cdn.alpinelinux.org/alpine/v3.7/main/x86_64/APKINDEX.tar.gz: temporary error (try again later) 重试多次无效,最后通过重启 docker 解决. 原文地址:https://www.cnblogs.com/dylanchu/p/9864268.htm

(win10 docker desktop) docker build 时 alpine 无法安装软件问题的解决

使用 alpine 作为 docker 基础镜像时,运行 apk add ..... 遇到如下错误: WARNING: Ignoring http://dl-cdn.alpinelinux.org/alpine/v3.7/main/x86_64/APKINDEX.tar.gz: temporary error (try again later) 重试多次无效,最后通过重启 docker 解决. 原文地址:https://www.cnblogs.com/apesplan/p/10783160.ht

Docker获取镜像报错docker: Error response from daemon

docker: Error response from daemon: Get https://registry-1.docker.io/v2/: net/http: request canceled今天在使用docker获取镜像时,出现了镜像获取报错的问题,找到了解决的方法记一下. 一.问题 ? ~ docker search sameersbnError response from daemon: Get https://index.docker.io/v1/search?q=sameers

使用dockerfile文件创建镜像时docker build没有反应

问题: 执行docker build -t jdk_8u191:20190307 . jdk_dockerfile  时都没有反应 jdk_dockerfile文件内容 # 以此镜像作为基础镜像构建新的镜像FROM centos:7 # 维护者信息 MAINTAINER chen # 将jdk-8u191-linux-x64.tar.gz文件添加到新的镜像的的/usr/local/路径下,使用ADD指令会直接对jdk-8u144-linux-x64.tar.gz进行解压缩,不用再单独的tar解压

docker 执行 docker system prune 导致Azure Devops build镜像失败

运行docker的centos上, 只分配了16G的空间, 装了个mysql, 还有个rancher, 就只剩下2G的空间了, Azure Devops build镜像就出错了, 显示存储空间不足, 第一个想法就是把docker 的空间清理下, 于是使用到了docker system prune 这个命令 这个命令主要是清理, 看着没有什么特别的, 就执行了这个命令. 1.已停止的容器2.未被任何容器使用的卷3.未被任何容器所关联的网络4.所有悬空的镜像 结果, Azure Devops 每次b

docker build python环境时出现了个错误

前段时间面试,面试官问我除了简历这些你还有其他什么水平吗,我想了想我说我解决bug比普通人更好一些,然而面试官一脸不屑的跟我讲,解决bug呢更多的是需要经验,当时给我出了个问题是redis就是get不到,实际是有值的,这种bug怎么解,我说那就看日志了...反正说了一些思路,面试官予以否定.理由是找bug更多的是需要经验,当时也没什么可反驳的好像说的对,直到刚刚遇到了一个问题,在使用docker的时候build python相关的镜像,出现了如下错误 Get:9 http://archive.u

执行Docker build时,有部分需要×××的需求,通过引入http_proxy 解决:

对第一种方法改进.在在Docker file 里面先写上,这种会增加镜像大小 ENV http_proxy http://ip:port 最后在把ENV http_proxy "" 2. 在build 中加入参数解决: docker build \--build-arg http_proxy=http://10.188.61.2:8118 \--build-arg https_proxy=https://10.188.61.2:8118 \-f Dockerfile . -t imag