導入
Docker はオープンソースのコンテナ化プラットフォームで、開発者がアプリケーションを軽量でポータブルなコンテナにパッケージ化し、ローカルの開発マシン上、パブリック クラウド、プライベート クラウド、またはサーバー上の物理的な場所など、どこでも実行できるようにします。Docker を使用すると、開発者はアプリケーションとその依存関係を作成、実行、管理しながら、さまざまな環境間でのアプリケーションの一貫性と再現性を確保できます。
Docker コンテナは、アプリケーションとその依存関係をオペレーティング システム レベルで分離する軽量の仮想化テクノロジです。従来の仮想マシンとは異なり、Docker コンテナはオペレーティング システム全体を起動する必要はなく、コンテナ自体とコンテナが依存する一部のコンポーネントのみを起動する必要があるため、非常に高速で効率的、移植性があり、スケーラブルです。
Docker は、Docker エンジンと Docker イメージという 2 つの主要コンポーネントで構成されます。Docker エンジンは、Linux、Windows、MacOS などのさまざまなプラットフォームで実行できる軽量のランタイム環境です。Docker イメージは、コード、ライブラリ、ランタイム環境、構成ファイルなど、アプリケーションの実行に必要なすべてのコンポーネントと依存関係が含まれる実行可能パッケージです。Docker イメージは、Docker イメージを一元的に保存するパブリック レジストリである Docker Hub にあります。
Docker を使用すると、開発者はアプリケーションとそれが依存するすべてのコンポーネントを Docker イメージにパッケージ化し、環境構成や依存関係の競合を気にすることなく、そのイメージをデプロイしてどこでも実行できます。さらに、開発者は Dockerfile ファイルを使用してイメージ構築ルールと構成を定義し、構築および展開プロセスを自動化できます。
鏡像を作る
ドッカーをインストールする
CentOS に Docker をインストールするにはさまざまな方法がありますが、以下は一般的に使用される方法の 1 つです。
1. システムパッケージマネージャーを更新します。
まず、次のコマンドを実行してシステム パッケージ マネージャーを更新します。
sudo yum update
2. Docker 依存関係パッケージをインストールする
次のコマンドを実行して、Docker に必要な依存関係パッケージをインストールします。
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
3. Docker CE のインストール
次のコマンドを実行して、Docker CE (Community Edition) をインストールします。
sudo yum install docker-ce docker-ce-cli containerd.io
4. Dockerサービスを開始する
次のコマンドを実行して Docker サービスを開始します。
sudo systemctl start docker
5. Docker のインストールを確認する
次のコマンドを実行して、Docker のインストールが成功したことを確認します。
sudo docker run hello-world
すべてが正常であれば、次のような出力が表示されるはずです。
Hello from Docker!
This message shows that your installation appears to be working correctly.
...
Dockerイメージを作成する
1. 単純な Python アプリケーションを作成します。メモ帳、Sublime Text、VS Code などのテキスト エディターを使用して、次のような単純な Python アプリケーションを作成できます。
# hello.py
print("Hello, Docker!")
2. Dockerfile を作成します。アプリケーションと同じディレクトリに、Dockerfile という名前のファイルを作成し、その中に Docker イメージのビルド ルールと構成を定義します。たとえば、これは単純な Dockerfile です。
FROM python:3.8-slim-buster
WORKDIR /app
COPY hello.py .
CMD [ "python", "./hello.py" ]
具体的には、Dockerfile は Python 3.8 をベース イメージとして使用し、/app を作業ディレクトリとして設定し、現在のディレクトリにある hello.py ファイルを /app ディレクトリにコピーし、アプリケーションのエントリ ポイントを hello.py ファイルとして定義します。 。
3. Docker イメージを構築します。アプリケーション ディレクトリで、ターミナルまたはコマンド ライン インターフェイスを開き、次のコマンドを入力して Docker イメージを構築します。
docker build -t myimage .
このうち -t パラメータはイメージの名前に使用され、「.」は Dockerfile が配置されている現在のディレクトリを示します。
4. Docker コンテナを実行します。次のコマンドを使用して Docker コンテナを実行します。
docker run myimage
実行後、出力として「Hello, Docker!」が表示されるはずです。
5.画像のエクスポート
次のコマンドを実行して、myimage イメージを tar ファイルとしてエクスポートします。
docker save -o myimage.tar myimage
このコマンドは、myimage イメージのすべてのレイヤーとメタデータを含む myimage.tar という名前のファイルを現在のディレクトリに生成します。
6. 画像をコピーする
myimage.tar ファイルを他のマシンまたは他の環境にコピーします。
7. 画像のインポート
次のコマンドを実行して、myimage.tar ファイル内のイメージを Docker デーモンにインポートします。
docker load -i myimage.tar
このコマンドは、Docker デーモンのレジストリに myimage イメージをインポートし、コンテナーの起動に使用できるようにします。
エクスポートおよびインポートされたイメージには、イメージのレイヤーとメタデータのみが含まれ、コンテナーの実行ステータスやデータは含まれないことに注意してください。コンテナーの実行状態とデータを保存する必要がある場合は、Docker データ ボリュームまたはその他の永続化ソリューションの使用を検討できます。