問題タブ [docker-in-docker]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
docker - Google Cloud Build で、docker コマンドと kubectl コマンドを実行する Makefile を実行するにはどうすればよいですか?
多数のコマンドMakefile
を実行する多数の でビルドされたプロジェクトを受け取りました。docker
Cloud Build でビルドしたい。
Cloud Build が Docker をネイティブに処理することは知っていますが、既存の Makefile 構造で動作する必要があります。
make Custom Build ステップを試しました が、Cloud Build はdocker
とがなくて失敗しましたkubectl
。したがって、これらをカスタム ビルドDockerfile
の作成ステップに追加することもできますが、それは間違っているように思われます。これは、 makeが Docker-in-Docker を実行し、これが問題を引き起こすためです。たとえば、gcloud
パーミッションkubectl
とコンテキストが欠落しています。
docker build
このような Makefile の一部として、 andを呼び出すターゲットを次に示しますdocker push
。
これらの Makefile を Cloud Build で実行するにはどうすればよいですか?
docker - docker から docker を実行すると、/var/run/docker.sock のアクセス許可が拒否されました
内部に別のコンテナーを使用する必要があるコンテナーがあります (最初のコンテナーにはビルド環境が保持され、一部のプロジェクトはコンテナーを作成することによってビルドされます)。docker-in-docker の回避について読み、次のアドバイスに従いました: https://jpetazzo.github.io/2015/09/03/do-not-use-docker-in-docker-for-ci/次のようにコンテナを実行します。
docker run -v /var/run/docker.sock:/var/run/docker.sock -ti 6519bf891fee bash
これは、コンテナー内で docker hello-world を実行しようとして得たものです。
さらに、試してみると、次のcat /var/run/docker.sock
結果が得られます。
ただしls -l /var/run/docker.sock
:
ホストとコンテナーの両方で root として実行しており、docker ユーザーを両方の sudoers グループに追加しました。コンテナ内の例:
docker - docker: tmp に空き容量がありません
の中で使用しdocker-dind
ていopenshift
ます。
に関連する問題に直面していno enought disk space
ます。これは、ドッカーが私を取得していることを意味します:
デーモンの起動エラー: /var/lib/docker の下で TempDir を取得できません: mkdir /var/lib/docker/tmp: デバイスにスペースが残っていません
その後、このディスク容量を確認し、ボリュームの要求容量を 150GiB に増やしました。
使用時に空き容量が再び利用可能になりました/var/lib/docker
。df
それは次のとおりです。
ご覧のとおり、現在、十分なディスク容量があります。
何か案は?docker
docker デーモンが開始されていないため、コマンドを実行できないことに注意してください。
また、ディスク領域が割り当てられている場所もテストしました。/var/lib/docker/vfs/dir
たくさんのディレクトリが含まれているのを見てきました:
docker - docker-indocker 内の企業の docker ハブにアクセスするにはどうすればよいですか?
企業プロキシとドッカーレジストリ(ネクサス)があります。コマンドを実行すると:
docker login -u <corporate_login> -p <pass> https://nexus-corporate.com
、接続に成功します。しかし、docker-in-docker イメージを使用して同様のコマンドを実行すると、プロキシに問題が発生します。問題を解決するには?
エラーメッセージ: