标签: docker-build

Docker文件中的Docker构建具有更多内存

如何docker build从Dockerfile更多的内存?

这是一个与此不同的问题当docker构建Dockerfile时允许更多内存

在本机安装软件时,有足够的内存来成功构建和安装该marian工具

但是当使用Dockerfile https://github.com/marian-nmt/marian/blob/master/scripts/docker/Dockerfile.cpu构建Docker镜像时,它会因多个内存耗尽错误而失败

virtual memory exhausted: Cannot allocate memory
Run Code Online (Sandbox Code Playgroud)

[OUT]:

Step : RUN cmake $MARIANPATH && make -j
 ---> Running in 4867d166d17a
-- The C compiler identification is GNU 5.4.0
-- The CXX compiler identification is GNU 5.4.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting …
Run Code Online (Sandbox Code Playgroud)

memory docker docker-build neural-mt

9
推荐指数
1
解决办法
9309
查看次数

“docker build”只需要 1 个参数

我只想从不同的目录构建一个 dockerfile,我尝试了以下命令

docker build -f C:/Users/XXXX/XXXX/XXXX/XXXX/XXXX/Dockerfile

docker build -f C://Users/XXXX/XXXX/XXXX/XXXX/XXXX/Dockerfile

它们都会产生相同的错误

"docker build" requires exactly 1 argument.

我错过了什么吗?

docker dockerfile docker-build docker-buildkit

9
推荐指数
2
解决办法
1万
查看次数

如何在执行 Docker 构建时禁用加载元数据?

Windows 10、DockerDesktop v3.5.2、Docker v20.10.7

每当我的计算机与 Internet 断开连接时,
该命令docker build -t my_image .都会生成如下所示的输出。

Dockerfile 包含行FROM some_public_image:123

 => [internal] load build definition from Dockerfile                             0.0s
 => => transferring dockerfile: 187B                                             0.0s
 => [internal] load .dockerignore                                                0.1s
 => => transferring context: 2B                                                  0.0s
 => ERROR [internal] load metadata for docker.io/library/some_public_image:123   0.0s
------
 > [internal] load metadata for docker.io/library/some_public_image:123:
------
failed to solve with frontend dockerfile.v0: failed to create LLB definition:
failed to do request: Head https://registry-1.docker.io/v2/library/some_public_image/manifests/123: 
dial tcp: lookup registry-1.docker.io …
Run Code Online (Sandbox Code Playgroud)

docker docker-build docker-desktop

9
推荐指数
1
解决办法
2385
查看次数

docker build使用来自注册表的先前构建缓存

我正在配置一个竹子构建计划来构建docker镜像.使用AWS ECS作为注册表.构建计划是这样的;

因为构建任务每次都在不同的新构建引擎/服务器上运行,所以它没有本地缓存​​.

当我不在Dockerfile上更改任何内容并再次执行它(在另一台服务器上)时,我希望docker使用本地缓存(来自docker pull)并且不再执行每一行.但它每次都试图建立图像.我还期待当我在文件底部更改某些内容时,它将使用缓存并仅执行最新行,但我不确定这一点.

我是否知道错误或对方法有任何意见?

continuous-deployment docker docker-build

8
推荐指数
1
解决办法
510
查看次数

将 ARG 传递给 ENTRYPOINT

假设我在 Dockerfile 中有这个:

ARG FOO=1
ENTRYPOINT ["docker.r2g", "run"]
Run Code Online (Sandbox Code Playgroud)

我用以下方法构建上述内容:

docker build -t "$tag" --build-arg FOO="$(date +%s)" .
Run Code Online (Sandbox Code Playgroud)

有没有办法做这样的事情:

ENTRYPOINT ["docker.r2g", "run", ARG FOO]  // something like this
Run Code Online (Sandbox Code Playgroud)

我想这个论点也可以通过 withdocker run而不是在docker build阶段期间传递?

docker dockerfile docker-build docker-entrypoint docker-run

8
推荐指数
2
解决办法
1万
查看次数

如何在 github-action 中缓存 docker-compose 构建

有没有办法缓存 docker-compose 以便它不会一次又一次地构建?这是我的操作工作流文件:

name: Github Action
on:
  push:
    branches:
      - staging
jobs:
  test:
    runs-on: ubuntu-18.04

    steps:
      - uses: actions/checkout@v1

      - name: Bootstrap app on Ubuntu
        uses: actions/setup-node@v1
        with:
          node-version: '12'


      - name: Install global packages
        run: npm install -g yarn prisma


      - name: Install project deps
        if: steps.cache-yarn.outputs.cache-hit != 'true'
        run: yarn


      - name: Build docker-compose
        run: docker-compose -f docker-compose.test.prisma.yml up --build -d

Run Code Online (Sandbox Code Playgroud)

我想缓存 docker build 步骤。我试过使用if: steps.cache-docker.outputs.cache-hit != 'true' then only build 但没有用。

github docker-compose docker-build github-actions building-github-actions

8
推荐指数
3
解决办法
4520
查看次数

在 docker build 中打印 ARG 值

有没有办法打印ARGs 值,这些值通过标志传递--build-argdocker build命令?

仅仅使用是不够的,因为我希望它在不允许的部分RUN echo $ARG_NAME之前打印。FROM

重点是立即查看这些值,以便我可以快速停止构建,防止下载错误的基础映像。

已经搜索了 docker docs 和 google。也许这里有人可以提供一些线索。

docker docker-build

8
推荐指数
2
解决办法
2万
查看次数

如何在 docker-compose.yml 中针对不同的构建环境运行不同的 ENTRYPOINT 命令?

现在我有一个docker-compose.yml

version: "3"

services:
  hello-world:
    image: hello-world
    build: .
    environment:
      NODE_ENV: development
    ports:
      - 3000:3000
    entrypoint: npm run dev
    # entrypoint: npm start
    working_dir: /
    volumes:
      - ./distService:/distService
Run Code Online (Sandbox Code Playgroud)

您会看到该entrypoint命令有 2 个选项。当我开发时,我需要它运行npm run dev。当我部署它时,我需要它运行npm start

如何在保留单个docker-compose.yml文件的同时执行此操作?

有没有办法将某种构建参数/ENV变量传递给docker-compose?人们通常如何处理这个问题?

docker docker-compose docker-build

8
推荐指数
1
解决办法
6440
查看次数

如何查看docker build“RUN命令”标准输出?(用于 Windows 的泊坞窗)

在过去,我可以简单地做这样的事情:

Dockerfile

FROM ubuntu
RUN echo "test"
Run Code Online (Sandbox Code Playgroud)

这将输出test到我的外壳。我用它作为调试我的构建的一种方式。

在 docker for windows 的最新稳定版本中,构建输出看起来完全不同,并且没有显示任何命令的任何标准输出。

如何在构建过程中查看任何命令的输出?

对于上面的Dockerfile示例,当前输出如下所示:

[+] Building 4.7s (6/6) FINISHED
 => [internal] load build definition from Dockerfile                                                                       0.0s 
 => => transferring dockerfile: 65B                                                                                        0.0s 
 => [internal] load .dockerignore                                                                                          0.0s 
 => => transferring context: 2B                                                                                            0.0s 
 => [internal] load metadata for docker.io/library/ubuntu:latest                                                           2.0s 
 => [1/2] FROM docker.io/library/ubuntu@sha256:c95a8e48bf88e9849f3e0f723d9f49fa12c5a00cfc6e60d2bc99d87555295e4c            2.3s 
 => => resolve docker.io/library/ubuntu@sha256:c95a8e48bf88e9849f3e0f723d9f49fa12c5a00cfc6e60d2bc99d87555295e4c            0.0s 
 => => sha256:f643c72bc25212974c16f3348b3a898b1ec1eb13ec1539e10a103e6e217eb2f1 3.32kB / 3.32kB                             0.0s 
 => => sha256:da7391352a9bb76b292a568c066aa4c3cbae8d494e6a3c68e3c596d34f7c75f8 28.56MB / 28.56MB …
Run Code Online (Sandbox Code Playgroud)

docker docker-build docker-for-windows

8
推荐指数
1
解决办法
2230
查看次数

我无法构建我的 docker 文件来使用 Docker build 创建我的 docker 映像

当我尝试构建 docker 文件时,docker 返回以下错误:

[+] Building 0.0s (1/2)                                                                                                                                                                                                                                       
 => ERROR [internal] load build definition from Dockerfile                                                                                                                                                                                               0.0s
 => => transferring dockerfile: 36B                                                                                                                                                                                                                      0.0s
------
 > [internal] load build definition from Dockerfile:
------
failed to solve with frontend dockerfile.v0: failed to read dockerfile: error from sender: walk Dockerfile: not a directory
Run Code Online (Sandbox Code Playgroud)

有谁知道如何解决这个问题?
先感谢您

docker dockerfile docker-image docker-build

8
推荐指数
1
解决办法
3640
查看次数