1. カスタムイメージとコンテナの違い 2. 実践トレーニング 1. ubuntu をベースにしたカスタムイメージの作成と nginx のインストール 2. Redis コンテナの設定 3. MySQL の設定 4. CentOS イメージの設定
1. カスタマイズされたミラーリング
Docker は、開発者がアプリケーションとその依存関係を自己完結型コンテナにパッケージ化するのに役立つ、人気のあるコンテナ化プラットフォームです。このようなコンテナは、さまざまな環境に簡単にデプロイして実行でき、アプリケーションの移植性と一貫性を確保できます。
まず、空のフォルダーを作成し、その中に Dockerfile という名前のファイルを作成します。Dockerfile を開き、次のコンテンツを基本テンプレートとして追加します。
# ベースイメージを開始点として使用します FROM Base_image # ファイルをイメージに追加/コピーします COPY ソースの宛先 # 依存関係をインストールするコマンドを実行します RUN コマンド
上記では、base_image を選択したベース イメージに置き換え、source と destination をコピーするファイルまたはディレクトリへのパスに置き換え、command を実行するコマンドに置き換えます。次に、ニーズに基づいて指示を追加します。RUN コマンドを使用して、ソフトウェア パッケージのインストール、システムの更新などを行います。ENV ディレクティブを使用して環境変数を設定し、EXPOSE ディレクティブを使用してコンテナがリッスンするポート番号などを宣言します。
Dockerfile が完了したら、次のコマンドを使用してカスタム イメージを構築できます。
docker build -t image_name 。
このうち -t オプションはイメージの名前とラベルを指定するために使用され、 . は Dockerfile が配置されている現在のディレクトリを示します。ビルドが完了したら、次のコマンドを使用して、ビルドされたイメージのリストを表示します。
ドッカーイメージ
イメージとコンテナの違い
Docker イメージは一連の読み取り専用イメージ レイヤーで構成されており、各レイヤーには 1 つ以上のファイル システムへの変更が含まれています。これらの変更には、ファイルの追加、削除、または変更が含まれます。ミラーリング レイヤはカスケード式であり、各レイヤは前のレイヤの上に構築されます。この階層構造により、画像の再利用と共有がより効率的になります。
イメージを使用してコンテナーを作成する場合、Docker はイメージ レイヤーの上に書き込み可能なコンテナー レイヤーを作成します。コンテナ層を使用すると、ファイルの追加、変更、削除など、実行時にファイル システムに変更を加えることができます。これらの変更はコンテナ レイヤーにのみ影響し、元のイメージ レイヤーは変更されません。この階層構造により、コンテナの軽量かつ高速な起動が可能になります。
2. 実践的な研修
Docker を使用すると、Linux システム上で Redis、MySQL、および CentOS イメージを簡単にプル、構成、実行できます。Docker は、さまざまなサービスやアプリケーションをデプロイして実行するための便利でポータブルな方法を提供し、アプリケーションの移植性と一貫性を確保します。
1. ubuntu に基づいてカスタム イメージを作成し、nginx をインストールします
# ベースイメージを開始点として使用します FROM ubuntu:latest # apt ソースを更新して Nginx をインストールします RUN apt-get update && apt-get install -y nginx # ポート 80 を公開します EXPOSE 80 # Nginx サービスを開始します CMD ["nginx ", " -g", "デーモンオフ;"]
Dockerfile を含むディレクトリで、次のコマンドを使用してイメージをビルドします。
docker build -t my-nginx 。
これにより、Dockerfile に基づいて my-nginx という名前のイメージが構築されます。ビルドが完了したら、次のコマンドを使用してイメージを実行できます。
docker run -d -p 80:80 my-nginx
バックグラウンドで my-nginx イメージに基づいてコンテナーを実行し、ホストのポート 80 をコンテナーのポート 80 にマッピングします。ブラウザでhttp://localhostにアクセスして、Nginx のようこそページを表示します。
2. Redisコンテナの構成
Linux システムに Docker がインストールされていることを確認してください。次のコマンドを使用して、Docker がインストールされているかどうかを確認できます。
ドッカーのバージョン
Redis イメージを Docker Hub からプルします
ドッカープル Redis
次のコマンドを使用して Redis コンテナを実行します。 my-redis という名前の Redis コンテナがバックグラウンドで実行され、ホストの 6379 ポートをコンテナの 6379 ポートにマップします。
docker run -d --name my-redis -p 6379:6379 redis
Redis クライアントを使用して Redis コンテナーに接続します。たとえば、次のコマンドを使用して Redis コンテナに接続します。
redis-cli -h localhost -p 6379
3. MySQL の構成
次のコマンドを使用して、Docker Hub から MySQL イメージをプルします。
ドッカープルmysql
次のコマンドを使用して、MySQL コンテナを実行します。
docker run -d --name my-mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=パスワード mysql
my-mysql という名前の MySQL コンテナがバックグラウンドで実行され、ホストの 3306 ポートをコンテナの 3306 ポートにマップします。MySQL root ユーザーのパスワードは、-e オプションを使用してパスワードとして指定します。MySQL クライアントを使用して MySQL コンテナに接続します。たとえば、次のコマンドを使用して MySQL コンテナに接続します。
mysql -h localhost -P 3306 -u root -p
MySQL コンテナに正常に接続するには、以前に設定したパスワードを入力します。
4. CentOSイメージの構成
次のコマンドを使用して、Docker Hub から CentOS イメージをプルします。
ドッカープルセントス
次のコマンドを使用して CentOS コンテナを実行します。
docker run -it --name my-centos centos
my-centos という名前の CentOS コンテナーは対話モードで実行されます。CentOS コンテナ内でさまざまな操作やコマンドを実行できます。たとえば、ソフトウェア パッケージのインストール、構成ファイルの変更などです。
# コンテナにソフトウェア パッケージをインストールします yum install <package-name> # 構成ファイルを変更します vi <path-to-file>
必要な操作を完了したら、次のコマンドを使用して CentOS コンテナを終了して停止できます。
docker stop my-centos を終了します