标签: docker-build

Docker构建标记存储库名称

可以通过docker build命令轻松构建docker镜像.

我想知道的是你在构建图像时可以给出的标志.例如:

$ docker build -t ouruser/sinatra:v2 .
Run Code Online (Sandbox Code Playgroud)

根据文档,t标志用于标记和命名目的.名称是':'之前的部分,标记是之后的部分.所以在我们的例子中,名称是ouruser/sinatra,标签是v2.

我以为这将是图像名称和标签.但显然,该名称实际上是一些存储库名称?为什么我认为它是?好吧,因为如果你在这个列表之后用命令列出图像:

docker images
Run Code Online (Sandbox Code Playgroud)

你会得到这样的列表:

REPOSITORY          TAG     IMAGE ID      CREATED        SIZE
ouruser/sinatra     latest  5db5f8471261  11 hours ago   446.7 M
Run Code Online (Sandbox Code Playgroud)

砰! 重大震撼!您以为您正在创建一个带有名称的图像,而是指定了一些存储库!与此相关,我有一些问题:

  1. 这个存储库在哪里?
  2. 我可以在不创建存储库的情况下命名图像吗?
  3. 该存储库在何处以及如何使用或可以使用?
  4. 我在哪里可以找到有关此存储库的更多信息?我只发现了这一点,而且说实话并不多:docker build docs
  5. 为什么使用包含两个部分的名称是常见的:somename/someothername?

谢谢您的帮助!

docker docker-build

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

如何在没有docker的情况下构建docker镜像?

是否有一些轻量级方法我可以在容器内构建一个docker镜像,而无需有一个有效的docker机器.这是我正在尝试做的事情:

$ docker run -it --rm docker:latest

/ # mkdir test
/ # touch test/Dockerfile
/ # docker build test
Cannot connect to the Docker daemon. Is the docker daemon running on this host?
Run Code Online (Sandbox Code Playgroud)

假设我有一个有效的Dockerfile,是否有某种方法可以在像这样的容器中创建一个docker镜像?

docker dockerfile docker-build

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

如何在 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命令期间将文件从docker容器复制到主机?

作为构建我的应用程序的docker镜像的一部分,我正在其中运行一些测试,并且我想将测试运行的输出复制到主机(这是一个持续集成服务器)来进行一些报告.

containers docker boot2docker dockerfile docker-build

7
推荐指数
1
解决办法
4952
查看次数

在构建期间复制 docker 镜像中的文件

我想构建一个基于dockerage/apache-mellon 的 docker镜像,它的卷在/var/www. 我想在 docker 容器中构建我的 web 应用程序,当我在临时目录中构建它时/var/www,然后在我的 Dockerfile 中使用以下命令将文件复制到:

WORKDIR /tmp
COPY . /tmp
RUN ./node_modules/gulp/bin/gulp.js
RUN cp -R /tmp/dist/ /var/www
Run Code Online (Sandbox Code Playgroud)

docker 构建过程完成且没有任何错误,但文件不会被复制到/var/www. 有没有办法将文件复制到在构建过程中声明为 docker volume 的位置?

docker docker-build docker-volume

7
推荐指数
1
解决办法
6537
查看次数

在Jenkins(在docker容器中)管道中构建docker镜像

我使用Docker容器中的Jenkins.我想在Jenkins管道中构建docker镜像,但这个容器(Jenkins)中不存在docker.

由Docker Compose部署的Jenkins容器,yml文件:

version: "3.3"
services:
  jenkins:
    image: jenkins:alpine
    ports:
      - 8085:8080
    volumes:
      - ./FOR_JENKINS:/var/jenkins_home
Run Code Online (Sandbox Code Playgroud)

我们可以做些什么来在Jenkins管道中构建docker镜像?我们可以使用docker部署一些docker容器并使用一次构建docker镜像吗?或者是其他东西?你是怎么做的?

编辑:

谢谢@VonC,我检查了你的信息,但......"许可被拒绝"

Docker撰写文件:

version: "3.3"
services:
  jenkins:
    image: jenkins:alpine
    ports:
      - 8085:8080
    volumes:
      - ./FOR_JENKINS:/var/jenkins_home
#      - /var/run/docker.sock:/var/run/docker.sock:rw
      - /var/run:/var/run:rw
Run Code Online (Sandbox Code Playgroud)

Jenkinsfile:

pipeline {
    agent any

    stages {
        stage('Build') {
            steps {
                echo "Compiling..."
                sh "${tool name: 'sbt', type: 'org.jvnet.hudson.plugins.SbtPluginBuilder$SbtInstallation'}/bin/sbt compile"
            }
        }
        /*stage('Unit Test') {
            steps {
                echo "Testing..."
                sh "${tool name: 'sbt', type: 'org.jvnet.hudson.plugins.SbtPluginBuilder$SbtInstallation'}/bin/sbt coverage 'test-only * -- -F 4'"
                sh "${tool name: …
Run Code Online (Sandbox Code Playgroud)

jenkins docker docker-build

7
推荐指数
1
解决办法
8672
查看次数

获取 https://registry-1.docker.io/v2/: net/http: 请求在等待连接时被取消(Client.Timeout exceeded while awaiting headers)

尝试构建 docker 映像时出现以下错误。我的操作系统是企业环境中的 CentOS 7。

Sending build context to Docker daemon  1.22GB
Step 1/20 : FROM centos
Get https://registry-1.docker.io/v2/: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers).
Run Code Online (Sandbox Code Playgroud)

我遵循了我在网上得到的答案。(相关问题)。我以 24 票的方式跟随答案,因为它是为 CentOS 7 提供的

我在目录 /etc/sysconfig/ 中创建了一个名为 docker 的文件并添加了以下内容

HTTP_PROXY="http://proxy.example.com:80/"
HTTPS_PROXY="https://proxy.example.com:443/"
http_proxy="${HTTP_PROXY}"
https_proxy="${HTTPS_PROXY}"
Run Code Online (Sandbox Code Playgroud)

但我收到以下错误。

Sending build context to Docker daemon  1.22GB
Step 1/20 : FROM centos
Get https://registry-1.docker.io/v2/: http: error connecting to proxy https://proxy.example.com:443/: dial tcp: lookup proxy.example.com on 127.0.0.1:53: no such host
Run Code Online (Sandbox Code Playgroud)

我的 Docker …

docker docker-image docker-build

7
推荐指数
0
解决办法
6859
查看次数

Dockerfile 添加 https://zzzz x509:由未知机构签名的证书

我有一个 Dockerfile,其中一项操作是添加从存储(内部网络)存储库下载的 xml 文件。我们对我们的藏品使用自我证书。当它尝试执行 ADD 命令(导致 http GET)时,我收到此错误“Centos docker x509:由未知权威机构签名的证书” 有任何解决方案可以绕过吗?

docker dockerfile docker-build

6
推荐指数
0
解决办法
1072
查看次数

我们可以使用 .tar 或 zip 存档构建 docker 镜像吗

我们可以使用 tarball 或 zip 存档构建一个 docker 镜像,其中包含 dockerfile 吗?我需要使用 docker api 从档案构建图像。

有没有任何参考或资源,我搜索了 3o 分钟但找不到任何东西。

请帮帮我!提前致谢!

docker docker-image docker-build docker-api

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

如何更改 if 语句中的 docker ARG 值?

在我使用docker 17.12.1-ceUbuntu 16.04上的 Dockerfile 中

ARG ver=latest
ARG pkg=master
Run Code Online (Sandbox Code Playgroud)

为了构建一个 docker 容器,我想调用docker build --build-arg ver=v1 .以设置一个特殊的包。

我的 Dockerfile 中的代码处理部分是

RUN if[ "x$ver" = "xv1" ] ; then pkg=v1.2.3 ; fi
RUN echo $pkg
Run Code Online (Sandbox Code Playgroud)

不幸的是,ARG pkg变量没有更新,并且 echo 语句始终显示其初始值。

我能做什么,更新if 语句中的构建变量pkg ?

docker docker-build

6
推荐指数
1
解决办法
4674
查看次数