概要 私は 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
1. インストールスクリプト(composer-setup.php)を現在のディレクトリにダウンロー...
1. my.cnfを変更する #全体的な効果としては、グローバルがオンになっている場合はテーブルとロ...
編集者:この記事では、インタラクティブデザインがブランドコミュニケーションチェーン全体で果たすべき役...
react-routerでは、コンポーネント内のジャンプは<Link>で使用できます。し...
この記事の例では、Vueスライダー検証の実装を共有しています。コードは次のとおりです。 <テン...
1. データベースのタイムゾーンを確認する '%time_zone' のような変数を...
この記事の例では、ログインと登録を実装するためのspringboot+VUEの具体的なコードを参考ま...
目次1 設定ディレクトリとデータディレクトリを作成する3 イメージからホストに構成ファイルをコピーす...
プロットレビュー前回の記事では、ロケーション命令の解析プロセスを分析しました。この内容を簡単に確認し...
まず、Moments を開いて、写真の数が異なるいくつかのレイアウトを確認するか、以下の例を参照して...
はじめに:今日は、サーバー上のMySQLにリモート接続したいと思います。使用するソフトウェアはNav...
方法1: SET PASSWORDコマンドを使用する MySQL -u ルート mysql> ...
私が実現したい機能は、新しいウィンドウを開いて新しいページを表示することですが、パラメータを渡す必要...
Linux タスク管理 - バックグラウンド実行と終了fg、bg、ジョブ、&、ctrl + ...