Docker: イメージの管理と実践

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 を終了します

おすすめ

転載: blog.csdn.net/zhanggqianglovec/article/details/132107209