【发布时间】:2017-03-25 11:29:08
【问题描述】:
Concourse 无法构建和部署到 docker,我收到此错误:
无效参数“http://10.250.249.243:5000/frontend-srv-img:latest” for t:错误解析参考: “http://10.250.249.243:5000/frontend-srv-img:latest”不是有效的 存储库/标签请参阅“docker build --help”。
我正在尝试在任务中构建前端源代码库,从而产生 dist: frontend-dist。
然后我想在本地 docker 注册表的“put”中使用这个 dist,所以我提供了带有 dist 文件夹和 docker 文件路径的“put”。注意:dist 和 docker 文件来自不同的仓库/分支。
---
#Git repo containing docker-template and build scripts:
resources:
- name: devops-repo
type: git
source:
uri: git@bitbucket.org:myorg/client-devops.git
branch: dev
private_key: {{private-key}}
#Git repo containing docker-template and build scripts:
- name: client-repo
type: git
source:
uri: git@bitbucket.org:myorg/client-devops.git
branch: frontend
private_key: {{private-key}}
#Docker-image containing the built source:
- name: frontend-server-image
type: docker-image
source:
repository: http://10.250.249.243:5000/frontend-srv-img
insecure_registries: ["http://10.250.249.243:5000"]
jobs:
- name: job-frontend
public: true
plan:
- aggregate:
- get: devops-repo
trigger: true
- get: client-repo
trigger: true
- task: Build frontend using grunt
file: devops-repo/build-frontend.yml
- put: frontend-server-image
params:
build: frontend-dist
dockerfile: devops-repo/frontend-server/Dockerfile
构建前端.yml
---
platform: linux
image_resource:
type: docker-image
source:
repository: node
tag: 'latest'
inputs:
- name: client-repo
outputs:
- name: frontend-dist
run:
path: sh
args:
- -exc
- |
ls -lah
cd client-repo
# npm install -g grunt-cli
# npm install -q
# grunt pipeline
mkdir dist
touch dist/test123
mv -f dist ../frontend-dist
cd ..
ls -lah
【问题讨论】:
-
你能
fly intercept到容器做put,并尝试手动运行它吗?在我天真的眼里,这是一个 Docker 问题,而不是一个 Concourse 问题。 -
是工人在做put吗?
-
是的,但是如果您使用
fly containers和fly intercept的组合,您将能够在执行put。这样你就可以看到容器的状态,然后四处寻找进一步调试。 -
如果您愿意,可以在 slack.concourse.ci 上进一步聊天
-
您不需要在您的私人注册表前使用
http://。只需将其添加为repository: 10.250.249.243:5000/frontend-srv-imginsecure_registries: ["10.250.249.243:5000"]
标签: docker docker-build concourse