我是 Docker 新手,正在尝试让我的 Angular Web 应用程序在容器中构建和运行。
我在项目的根目录中有一个非常基本的 Dockerfile,如下所示:
# Create the image based on the official Node 10.13.0 image from Dockerhub
FROM node:10.13.0 as node
# Copy dependency definitions
COPY package.json .
# Install dependencies using npm
RUN npm install
# TODO - copy rest of app and run angular-cli build commands to serve up the app
在对其运行构建命令后,我遇到了以下错误:
通过查找此错误,我意识到我尚未从主机提供任何主机密钥详细信息,因此这些详细信息可用于访问私有存储库。
我在这里遇到了一些关于提供主机密钥详细信息的方法的旧答案,例如this one,但我没有走得更远,仍然遇到同样的错误。
通过在我的 dockerfile 中回显这些内容并在终端中查看详细信息,我能够确认我正确引用了我的主机密钥。
无论如何,我不确定正确或官方的做法是什么。
我正在 macOS High Sierra 上运行 Docker 2.0.0.0-maxc78
谁能指出正确的方向,告诉我这里的正确方法是什么?
Thanks!
这种情况将受益于最近的docker build secret
.
docker build --secret id=mysite.key,src=path/to/mysite.key .
在您的 Dockerfile 中使用它:
# syntax=docker/dockerfile:1.0.0-experimental
FROM alpine
RUN --mount=type=secret,id=mysite.key command-to-run
查看更多内容“在 Docker 18.09 中构建机密和 SSH 转发“(你的docker 2.0.0应该支持它)
对于您的情况,您的 Dockerfile 应包括:
RUN --mount=type=ssh git clone [email protected]:myorg/myproject.git myproject
在 docker 客户端,您需要使用以下命令定义此构建允许 SSH 转发--ssh
flag.
docker build --ssh default .
该标志接受定义本地 SSH 代理套接字或私钥位置的键值对。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)