2

同封の画像をご覧ください。私の CoreOS ボックスでは、Docker bulid にフラグ -f (ファイル) があり、「Dockerfile」という名前以外の dockerfile を指定してビルドを作成できます。たとえば、CircleCI で「Docker -f Dockerfile-dev」を呼び出そうとすると、「flag provided but not defined: -f」で失敗します。同封の画像では、-f フラグが CircleCI の Docker インスタンスに認識されていないことがわかります。これを回避する方法はありますか?それとも、CircleCI ビルドに使用される dockerfile に「Dockerfile」という名前が必要ですか?ここに画像の説明を入力

4

2 に答える 2

3

CircleCI から得た回答は次のとおりです。

CircleCI で実行できる Docker 1.5 と 1.6 のビルドは既にありますが、コンテナーにはまだ入っていません。これを circle.yml に追加すると、今すぐ Docker 1.5 または 1.6 の使用を開始できます。たとえば、依存関係の pre セクションで:

curl -L -o /usr/bin/docker 'http://s3-external-1.amazonaws.com/circle-downloads/docker-1.5.0-circleci'; chmod 0755 /usr/bin/docker; true

また

curl -L -o /usr/bin/docker 'http://s3-external-1.amazonaws.com/circle-downloads/docker-1.6.0-circleci'; chmod 0755 /usr/bin/docker; true

docker を手動で起動しているので、これを行う場合は、サービス セクションから docker を削除する必要があります。

ビルド コンテナにデフォルトで 1.5 と 1.6 をすぐに追加する予定なので、このハックは今後数週間で不要になるはずです。

于 2015-05-28T13:05:11.847 に答える
2

docker build -fDocker 1.5 の機能です ( PR 9707を参照) 。

CircleCI はまだ Docker 1.5 を統合していません。

よくある質問を参照してください:

私たちの環境で Docker 1.5 を実行するには、カスタム パッチが必要です。また、コンテナーで利用できるようにする前に、パッチを適用したバージョンを徹底的にテストする必要があります。Docker 1.5 がデフォルトでビルド コンテナーと共に出荷され始めるとすぐに通知されるように、変更ログ
に 注目してください。

2015 年 6 月: 変更ログにはまだ記載されていませんが、Docker 1.6 が現在サポートされている可能性があります。意味docker build -fはサポートされています。

于 2015-05-27T17:31:52.777 に答える