概要 私は 1 年以上 Docker を使用しています。最近、サービスをすばやくオーケストレーションしているときに、シェル スクリプトで使用されている git がまだネイティブであることに気付きました。 そこでgitをコンテナ化することに決め、dockerhubで検索したところ、ダウンロード量が比較的多いこのイメージを見つけました。 dockerfileを見た後、ニーズに適していないと感じました ここではボリュームや ssh は提供されていません。リポジトリをホスト マシンにマップすることも、プライベート リポジトリをクローンする機能もありません (ささやき声: どちらも可能ですが、不便です)。他の gitclient イメージも同様です。
ミラーアドレス この記事のイメージは dockerhub にプッシュされています。必要に応じて直接使用できます: https://hub.docker.com/r/wuliangxue/git 車輪 まず、Docker Hub アカウントが必要です。次に、Docker を使用してサーバーにログインし、イメージを Docker Hub リポジトリにプッシュします。これにより、将来の移行が容易になります。 任意のディレクトリにgit.dockerfileファイルを作成する Dockerfileに以下を入力します ここで簡単に説明しますと、当初はUbuntu 18.04ベースのミラーが提供されていましたが、サイズが大きすぎたため、Alpineに置き換えられました。国内ユーザーは Linux ソフトウェア ソースを国内ミラーに切り替える必要があります。そうしないと、ソフトウェアのインストール時にさまざまな問題が発生します。このイメージ自体はプロジェクトのクローン作成用なので、git と ssh のみがインストールされます。以下は、プライベート ウェアハウスのクローンを作成し、対応する ssh ディレクトリ ボリュームを開くための準備です。作業ディレクトリが設定されているため、git clone 時にデフォルトのプロジェクトは イメージを構築する 次のコマンドを入力します: 「Successfully」と表示されたら、イメージが正常に構築されたことを意味します。 ここでは、Ubuntu 18.04 をベースに構築されたイメージのサイズを比較します。タグ 0.1 のイメージは Ubuntu 18.04 [187M] をベースに構築されており、タグ 0.1-alpine のイメージは alpine:3.12 [30.1M] をベースに構築されています。 ミラーの使用 まず、作成したイメージを使用してパブリックリポジトリをクローンし、次のコマンドを実行します。 docker run --rm --name git \ -v "$(pwd)":/git/repo wuliangxue/git:0.1-alpine \ git クローン https://github.com/docker-library/mysql.git このリポジトリはクローンされました。 クローンの詳細を表示する場合は、前のコマンドに docker run -it --rm --name git \ -v "$(pwd)":/git/repo wuliangxue/git:0.1-alpine \ git クローン https://github.com/docker-library/mysql.git プライベート倉庫を複製する必要がある場合はどうすればよいですか? ? docker run -it --rm --name git \ -v "$(pwd)":/git/repo \ -v "$(pwd)/id_rsa":/root/.ssh/id_rsa \ -v "$(pwd)/id_rsa.pub":/root/.ssh/id_rsa.pub \ wuliangxue/git:0.1-alpine git クローン [email protected]:wuliangxue/douyu.git ここで 「yes」と入力して Enter キーを押すと、プライベート ウェアハウスが複製されます。 最後に、このホイールを Dockerhub にプッシュして、次回サーバーを変更するときに直接プルして使用できるようにします。 これで、Docker を使ってクローンリポジトリを使用して Git イメージを構築する方法についての記事は終了です。Docker による Git イメージの構築の詳細については、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: HTML テーブルタグチュートリアル (20): 行の背景色属性 BGCOLOR
ページデータの表示には Vue などの js のデータバインディング機構が使用されるため、クローラー...
効果図: 全体的な効果: ビデオ読み込み中: 写真:ステップ1: HTML要素を作成するまず、HTM...
目次序文ブラウザコンパイル版ローカルプリコンパイルバージョン要約する参照する序文vue3サンドボック...
この記事では、例を使用して、MySQL 累積集計の原理と使用方法を説明します。ご参考までに、詳細は以...
レンダリング コード - 青と黄色のリングを例に挙げます <div class="コ...
1.ロックしますか? 1.1 ロックとは何ですか?ロックの本当の意味は、鍵またはコードで開くことがで...
Dockerで作成したコンテナを削除する方法1. まず、docker -s -aコマンドを使用してす...
チェーンプログラミングの実装原理jQuery を使用すると、開発者は常にドット構文を使用して独自のメ...
目次vueカスタムディレクティブグローバル指令ローカル指示使用フック関数(両方ともオプション)使用方...
背景docker とアイデアを使用して、Java Web の開発、展開、運用までのプロセス全体を実現...
目次Vue でのモデルバインド表示の if の v-text の説明v-html: v-オンv-if...
<area> タグは主にイメージマップで使用されます。イメージマップにアクティブ領域 (...
目次1 現在のデータベースの内容を表示し、データベースをバックアップする2 bin_log関数を有効...
目次コンセプト紹介論理的ルール完全なコード主な実装コンセプト紹介セルオートマトンとは、コンピュータの...
Dockerコンテナの状態遷移図2度目の実戦 [root@localhost ~]# docker ...