問題タブ [dockerhub]
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 - Docker ハブの自動ビルドは失敗するが、ローカルでは失敗しない
ここで、Docker ハブで自動ビルドをセットアップしました(ソースはここにあります)。
ビルドはローカルでうまくいきます。--no-cache
また、オプションで再構築しようとしました:
そして、プロセスは正常に完了します
ただし、自動ビルドは Docker ハブで失敗し、次のエラー ログが表示されます。
このビルドは、次の vim コマンドで明らかに失敗します。
Output is not to a terminal
警告とInput is not to a terminal
ローカル ビルドにも表示されることに注意してください。
どうしてこうなるのか理解できません。標準の Ubuntu 14.04 システムを使用しています。
docker - Docker ハブでの Docker ビルド中の別のホーム ディレクトリ
Ubuntu 14.04 ホスト マシンでの Docker イメージのビルドと、Docker Hub の自動ビルドとの間に奇妙な違いがあることがわかりました。
これは私の Dockerfile です:
これは私のマシンの出力です:
これは Docker ハブからのものです。
異なるHOME
ディレクトリに注意してください:の/root
代わりに/
. 誰が私に何が起こっているのか説明できますか?
これは私の Docker バージョンです (標準のdocker.io
Ubuntu パッケージをインストールしました)。
jenkins - Docker コミットはコンテナー ユニオン ファイル システムに変更を加えません
これはおそらくある時点で尋ねられたのですが、どこにも見つかりません。コミットしているコンテナー内のファイルの変更を失うことなく、Docker イメージへの変更をコミットすることができない (または方法がわからない) ようです。これが私のユースケースです。WindowsでBoot2Dockerを使用していますが、
dockerHub からジェンキンスの最新バージョンを取得します。
私はそれを実行し、Webインターフェイスポートを再ルーティングします
インターフェイスに移動して、いくつかのプラグインをインストールします。プラグインをインストールしてから、Jenkins を再起動します。次に、変更をコミットしようとします。
docker ps -lq は、最後に実行されたコンテナーの ID を返します。現時点ではこのコンテナーのみを実行しているため、これが正しい ID を返すと確信しています (docker ps を実行して実際にコンテナーを検索することでも確認しました)。次に、変更をプッシュします。
プッシュは、dockerHub に既に存在するすべてのリビジョンを通過し、最後のリビジョンに到達して 4 メガバイトがレジストリにアップロードされるまでそれらをすべてスキップします。それでも、この新しいイメージを実行しようとすると、何も変更されていないジェンキンスの基本イメージにすぎません。私がインストールしたプラグインなしで。私が理解している限り、イメージのユニオン ファイル システムへの変更 (jenkins プラグインはそこにバイナリとしてインストールされます) をコミットする必要があります。変更を加えた新しいイメージが必要です。
私は何を間違っていますか?
編集:いくつかのテスト ジョブを作成して実行し、docker exec -it bash を使用してファイル システムを歩き回り、jenkins は /var/jenkins_home/jobs の下に各ジョブの新しいディレクトリを作成しますが、docker diff を実行すると、一時ファイルのみが作成されたことを示しています。そして、コンテナーをコミット、プッシュ、停止し、プッシュされたばかりのイメージから新しいコンテナーを実行すると、ジョブ フォルダーは他のすべてのものと一緒に消えます。
EDIT2:他のフォルダーにファイルを作成しようとしましたが、docker diff は、/var/jenkins_home/ ディレクトリ以外のすべての場所で変更を確認しているようです。
EDIT3:これは関連しているようです-Jenkins DockerHubページから
この画像の使い方
docker run -p 8080:8080 jenkins これにより、ワークスペースが /var/jenkins_home に保存されます。プラグインや構成を含め、すべての Jenkins データがそこに存在します。おそらくそれを永続的なボリュームにしたいと思うでしょう:
docker run --name myjenkins -p 8080:8080 -v /var/jenkins_home jenkins 「myjenkins」という名前のコンテナーのボリュームは永続的になります。
ホストからボリュームにマウントをバインドすることもできます。
まず、コンテナー内の jenkins ユーザー (jenkins ユーザー - 通常は uid 102 - または -u root を使用) が /your/home にアクセスできることを確認してから、次のようにします。
docker run -p 8080:8080 -v /your/home:/var/jenkins_home ジェンキンス
-v トグルを使用してコマンドを実行しようとしましたが、実際にはコミットが永続化されませんでした。
docker - DockerHub コンテナーのソースを表示して、適応させるにはどうすればよいですか?
他の人が簡単に作業できる GeoDjango アプリケーションに取り組みたいです。Docker を使用してアプリケーションをパッケージ化したいと考えています。
ですから、非常に単純な質問です。
DockerHub に既存の GeoDjango コンテナーがあることがわかります: https://registry.hub.docker.com/u/jhonatasmartins/geodjango/
このコンテナーの Dockerfile を表示して、自分のコンテナーのベースとして使用するにはどうすればよいですか?
docker - Docker は将来的に 32 ビットの ubuntu(12.04) または suse OS をサポートしますか?
Ubuntu(12.04) と Suse の 32 ビット OS にいくつかのアプリケーションをデプロイしています。また、アプリケーションは 32 ビット OS に依存しているため、64 ビットに移行できません。Docker をデプロイに使用する予定ですが、現在は 32 ビットをサポートしていません。だから私は、ドッカーが将来32ビットOSをサポートする予定があるかどうか、そしていつ??
また
docker が今後 32 ビット OS をサポートしない場合は、私の問題に対する別の解決策を提案してください。
jenkins - dockerhub からプルする CI サービスはありますか?
私は調査しました: Travis CI、Circle CI、Drone.io ですが、それらはすべて github からプルしたいようです。ただし、dockerhub を github からプルして、docker イメージを適切にビルドしています。
Jenkins も調べたところ、dockerhub からプルできるプラグインがあるようですが、まだ使い方がわかりません。続けますが、Jenkins の問題は、自分でホストする必要があることです。
Docker Hub からプルし、イメージでテストを実行し、Web UI にテスト結果を表示し、Docker Hub にコールバックして何が起こったかを知らせることができる CI サービスを探しています。テストが失敗した場合、dockerhub は webhook を発行してプッシュしません。生産へ。
私が説明したようなことを知っている人はいますか?どうもありがとうございました!
==更新== 私はすべての CI オプションの調査を続けています。2 つの傾向に気付きました。
- 古い仮想化ソリューションを Docker に置き換えます。たとえば、Travis CI here . たとえば、Docker をコンテナとして使用して最初からテストを実行する Drone.io については、こちらを参照してください。ただし、それらの内部でコンテナーの別のレイヤーを実行することはできなくなったと思います。テストを実行するだけです。また、docker イメージをビルドすることもできないと思います。
- 古い仮想化ソリューションで Docker CLI をサポートするようにすると、Docker イメージをビルドし、そのイメージをレジストリにデプロイし、Docker コンテナー ( CircleCIなど) 内でテストを実行することもできます。
2 私見は私にとって 1 よりも優れています。1&2が合体できればカッコイイ。ただし、どちらのソリューションもソース コードから開始し、「ビルド」を行いたいと考えています。DockerHub からプルする機能はありません。また、docker コンテナー内でのテストのサポートがどれほど優れているかはわかりません。私はまだ実験中です。
docker - ELK スタックのイメージを構築する Docker
私は Docker を初めて使用します。ubuntu 12.04 に Docker
をインストールしました。単一のコンテナーに ELK (Elastic search、Logstash、および Kibana) をインストールしたいと考えています。
docker - リポジトリから Docker イメージをダウンロードできません
ラップトップで群れのセットアップを作成しようとしています。ラップトップで swarm デーモンを実行しており、docker ノードとして 2 つの Ubuntu 14.04 VM を実行しています。ノードの 1 つで swarm を実行でき、swarm デーモンに接続できます。Docker 情報を使用してノードを一覧表示し、その上にコンテナーを生成できます。しかし、別の VM ノードで swarm イメージをプルしようとすると、次のエラーが発生します。
確認したところ、プロキシの問題だと誰かが言っていました。しかし、私はプロキシサーバーを使用していません。その他の関連情報は次のとおりです。
これが私の /etc/default/docker です:
私が間違っていることについて何か考えはありますか?
更新:これは別のものです。私は家からこれをすべて試していました。今日の朝、私はオフィスに来て、ログインして出来上がり、画像を引き出すことができました!
理由はわかりませんが、オフィスに出向いて docker イメージを取得する必要があるようです。
docker - Docker リポジトリのプルを追跡する
これを検索しましたが、答えが得られませんでした。docker repositories pull の (場所) を追跡することは可能ですか?
私は docker リポジトリを持っています。誰がそれを引っ張って作業しているか知りたいのですが、docker イメージの Google アナリティクスのようなものだと考えてください。
ドッカーハブを介してそれを行うことは可能ですか?
ありがとう