Docker はクリーンな Ubuntu システムを作成し、Android ソースコードをコンパイルします

Docker はクリーンな Ubuntu システムを作成し、Android ソースコードをコンパイルします

序文

イントラネット上のサーバーは通常、多くのプログラムを実行する Ubuntu です。 Android のソースコードを研究したい場合は、クリーンな Ubuntu システムが必要です。今日はDockerを使ってクリーンなUbuntuを作成する方法を紹介します。

1. Dockerの簡単な紹介

1. Docker とは何ですか?

Docker が提供するのは、コンテナ化して物事 (ソフトウェアとプログラム) を移動するプロセスです。 Docker 自体は、オペレーティング システム上で実行されるプログラム ソフトウェアです。コンテナ環境が提供され、プログラムがコンテナ内で独立して実行できるようになります。

2. dockerの基本コマンド

(1)dockerイメージローカルイメージを表示します。

  • リポジトリ: ウェアハウス、イメージ名でもあります。
  • TAG: タグ、バージョン番号とも呼ばれます。画像のバージョン番号が異なる場合があります。
  • 画像ID: 画像ID。この ID に基づいて、さまざまな画像を区別し、特定の画像を操作することができます。
  • CREATED: 作成時刻;
  • SIZE: 画像のサイズ。

(2)docker rmiはローカルイメージを削除し、関連するコンテナが実行中の場合は削除できない場合があるため、強制的に削除するためのパラメータ-fを追加します。たとえば、docker rmi -f nginx はコンテナを強制的に停止し、イメージが使用されているかどうかに関係なく削除します。

(3)docker searchはイメージ名に基づいてリモートリポジトリ内のイメージを検索します。同じ名前のすべてのイメージを表示し、どのイメージを取得するかを選択できます。

(4)docker pull <イメージ名>:[タグ名]: イメージをプルします。デフォルトでは、最新のイメージをプルするためのタグ名は書き込まれません。

(5)docker pushでイメージをプッシュします。独自のイメージを作成すると、それを独自の Docker ハブにプッシュできます。

2. Docker の設定 Ubuntu

そのため、構成されたUbuntu dockerがメイン環境となり、日常の運用にはssh接続が利用されます。

1. Ubuntuシステムをクエリする

sudo docker 検索 ubuntu

https://hub.docker.com/ で ubuntu を検索して、ダウンロードしたいバージョンを見つけます。

例: sudo docker pull ubuntu:18.04; sudo docker pull ubuntu:20.04; sudo docker pull ubuntu:23.04;

2. システムを引き出して画像を表示する

sudo docker pull ubuntu:23.04;

3. コンテナを作成する

docker run -itd --restart=always --name rk3399-20 --privileged -v /home/android/rk3399:/rk3399 ubuntu:20.04 bash

  • -d: コンテナを起動し、バックグラウンドで実行します。現在のコンソールを占有することはありません。これは通常必須です。以前は、このパラメータを指定せずに nginx を起動すると、現在のコンソールが占有され、常にハングしていました。このコマンドを使用すると、占有されなくなります。
  • -i: コンテナを対話モードで実行します。通常は -t (-it) と一緒に使用されます。
  • -t: コンテナのコマンド ライン ウィンドウを作成します。これは、コンテナ コンテンツのコマンド ライン ウィンドウです。たとえば、Ubuntu イメージを取得し、このオペレーティング システム イメージでいくつかのコマンドを実行する場合は、このパラメーターが必要です。
  • -P: これは大文字の P で、ホスト上のランダムなポートがコンテナ内のポートにマップされることを指定します。
  • -p: これは小文字の p で、コンテナの内部ポートにマップされる特定のポートを指定します。たとえば、先ほど -p 8080:80 を使用しましたが、これはホストのポート 8080 をコンテナのポート 80 にマッピングすることを意味します。この方法では、ポート 8080 を使用して、外部からコンテナー内の nginx にアクセスできます (デフォルトのコンテナーには外部マッピング ポートが必要です。そうでない場合はアクセスできません)。
  • -v: ホストとコンテナ間のディレクトリ マッピングを指定します。これは、データの永続性と同期を実現するために以前のデータ ボリュームに必要なパラメーターです。
  • –restart=always: 起動時に再起動し、障害が発生した場合も常に再起動します。
  • --privileged コンテナ内のルートには実際のルート権限があります。

4. コンテナに入る

docker exec -it rk3399-20 bash

この時点では、クリーンなシステムです。サーバーをデプロイしたり、Android ソースコード コンパイル環境をインストールしたりできます。

<<:  VM、ホスト、Kubernetes、クラウドサービスを保護する

>>:  クラウドネイティブのビッグデータ知識マップを1つの記事で学ぶ

推薦する

ウェブサイトのコード最適化で注意すべき点について説明します。

通常、SEO 担当者はウェブサイトの最適化中に記事と外部リンクの最適化に重点を置きますが、ほとんどの...

ウェブサイトのトラフィックの完全な分析:アウトバウンドリンクを送信せずにトラフィックを獲得できます

昔の人はよく「厚さ 3 フィートの氷は 1 日でできるものではない」と言いましたが、これは Web ...

ウェブサイトKの重要な要素を分析する

最近の観察によると、特に先月20日頃から、Baidu は大規模なアップデートを開始し、かなりの数のサ...

K8s認証を理解する

序文この記事では、K8s の認証モジュールについて紹介します。 4 つの認証モードの概要を説明します...

高級電子商取引のZunxiang.comはSAIFが数千万ドルを投資した後に中止された

5月30日、SAIFパートナーズから数千万ドルの投資を受けていた高級品EC企業VIP.comが閉鎖さ...

Baidu の大規模アップデートには新たな仕掛けが。医療ウェブサイトは今後も前進できるのか?

2012年11月8日、私はいつものように会社に行き、パソコンを起動して、自分が勤務している駅の状況を...

本当に質の高いウェブサイト運営はユーザーとともに成長する

2018年最もホットなプロジェクト:テレマーケティングロボットがあなたの参加を待っています昨日、家族...

どのようなコンテンツがウェブサイト開発に役立つかご存知ですか?

数日前の百度のアルゴリズム更新により、また一群のウェブサイトが消滅しました。また、4月25日には、百...

仮想マシンとは何ですか?知っていましたか?

1. 要約ご存知のとおり、Java は長年の開発を経て、単純なコンピュータ プログラミング言語から成...

個人の映画ウェブサイトを運営する最良の方法は、卓越性と革新性を目指すことです

うまく運営されている個人の映画ウェブサイトは、大量のデータがあるため、確かに多くのトラフィックをもた...

SEOをする際に広く転載されるソフトな記事の書き方

タイトルが示すように、この記事で共有されている方法と経験は、ウェブマスターが SEO を行う際にソフ...

ウェブサイト広告の設定方法

インターネット上では、ウェブサイト広告、つまりウェブサイトを広告主として立ち上げることによって、数多...

serverbound-5 USD/80 GB 保護/15 TB トラフィック/KVM/512 MB メモリ/20 GB SSD

新しいものを紹介します。serverbound.com は、時間単位で支払う VPS ビジネスです。...

データ調査:ほとんどの人がGoogleのパーソナライズ検索に対して否定的な態度を示している

今月初め、市場データ調査ツールのプロバイダーである Ask Your Target Market (...

急成長を遂げているクラウドコンピューティング業界において、上流産業が最も繁栄しているのはなぜでしょうか?

流行の影響により、リモートワーク、オンライン教育、オンラインゲームなどのインターネットアプリケーショ...