同封の画像をご覧ください。私の CoreOS ボックスでは、Docker bulid にフラグ -f (ファイル) があり、「Dockerfile」という名前以外の dockerfile を指定してビルドを作成できます。たとえば、CircleCI で「Docker -f Dockerfile-dev」を呼び出そうとすると、「flag provided but not defined: -f」で失敗します。同封の画像では、-f フラグが CircleCI の Docker インスタンスに認識されていないことがわかります。これを回避する方法はありますか?それとも、CircleCI ビルドに使用される dockerfile に「Dockerfile」という名前が必要ですか?
2 に答える
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 をすぐに追加する予定なので、このハックは今後数週間で不要になるはずです。
docker build -f
Docker 1.5 の機能です ( PR 9707を参照) 。
CircleCI はまだ Docker 1.5 を統合していません。
私たちの環境で Docker 1.5 を実行するには、カスタム パッチが必要です。また、コンテナーで利用できるようにする前に、パッチを適用したバージョンを徹底的にテストする必要があります。Docker 1.5 がデフォルトでビルド コンテナーと共に出荷され始めるとすぐに通知されるように、変更ログ
に 注目してください。
2015 年 6 月: 変更ログにはまだ記載されていませんが、Docker 1.6 が現在サポートされている可能性があります。意味docker build -f
はサポートされています。