現在、ソフトウェア開発ではコンテナ化技術が使われており、Docker は最も人気のあるコンテナ化プラットフォームです。この記事では、Docker の使い方を教えます。インストール、起動、表示、入力、取得、削除、コンテナの起動、さまざまなパラメータとコマンドなどを含みます。仕事でも、ハンマーやドリル、ドライバーなど、さまざまなツールの使い方を知っている必要があります。今では Docker が必須のツールとなり、開発環境の構築やアプリケーションのデプロイがとても簡単になりました!
Docker のインストール#
Docker のインストールは非常に簡単で、公式ウェブサイトから対応するインストールパッケージをダウンロードし、指示に従ってインストールするだけです。インストールが完了したら、以下のコマンドを使用して Docker が正常にインストールされたかどうかを確認できます。
docker version
もし Docker のバージョン情報が表示されれば、Docker は正常にインストールされています。
Docker の起動#
インストールが完了したら、以下のコマンドを使用して Docker を起動できます。
systemctl start docker
もし Docker をシステム起動時に自動的に起動したい場合は、以下のコマンドを使用できます。
systemctl enable docker
イメージ情報の表示#
Docker を使用する前に、まず Docker イメージの概念を理解する必要があります。Docker イメージは、軽量で実行可能な独立したソフトウェアパッケージであり、コード、ランタイム環境、ライブラリ、環境変数、設定ファイルなど、アプリケーションの実行に必要なすべてのコンテンツが含まれています。
ローカルの Docker イメージリストを表示するには、以下のコマンドを使用します。
docker images
このコマンドは、イメージ ID、イメージ名、イメージタグ、イメージサイズなど、すべてのローカルイメージの情報を表示します。
イメージに入る#
時には特定のイメージに入って操作する必要があります。その場合は、以下のコマンドを使用します。
docker exec -it イメージ名 /bin/bash
ここで、-it パラメータは対話的なモードでコンテナに入り、ターミナルを開くことを意味します。/bin/bash は、コンテナに入った後にデフォルトで実行されるコマンドが Bash ターミナルであることを意味します。
イメージの取得#
必要な Docker イメージがローカルにない場合は、以下のコマンドを使用して取得できます。
docker pull イメージ名
このコマンドは、指定したイメージを Docker Hub からダウンロードし、ローカルに保存します。
コンテナの削除#
不要なコンテナを削除するには、以下のコマンドを使用します。
docker rm コンテナIDまたはコンテナ名
コンテナの起動#
コンテナを起動するには、以下のコマンドを使用します。
docker run -d -p ホストポート:コンテナポート イメージ名
ここで、-d パラメータはバックグラウンドでコンテナを実行することを意味します。-p パラメータはホストのポートをコンテナのポートにマッピングすることを意味します。例えば、ホストの 8080 ポートをコンテナの 80 ポートにマッピングする場合は以下のようになります。
docker run -d -p 8080:80 nginx
既存のイメージから新しいイメージを起動する#
時には既存のイメージを変更して新しいイメージを作成する必要があります。以下の手順を使用できます。
-
コンテナを起動して入る:
docker exec -it イメージ名 /bin/bash
-
コンテナ内で変更を行い、変更を保存します。
-
コンテナから出て変更をコミットします:
docker commit コンテナID 新しいイメージ名
-
新しく生成されたイメージを表示します:
docker images
起動時のさまざまなパラメータ#
コンテナを起動する際に、特定の要件を満たすためにさまざまなパラメータを指定できます。以下はいくつかの一般的なパラメータの例です:
- -d:バックグラウンドでコンテナを実行します。
- -p:ホストのポートをコンテナのポートにマッピングします。
- -v:ホストのディレクトリをコンテナのディレクトリにマウントします。
- --name:コンテナに名前を指定します。
- --restart:コンテナが停止した後に自動的に再起動するポリシーを指定します。
例えば、MySQL コンテナを起動する際には、以下のコマンドを使用できます:
docker run -d --name mysql -p 3306:3306 -v /root/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7 --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
このコマンドは、コンテナの名前を mysql とし、ホストの 3306 ポートをコンテナの 3306 ポートにマッピングし、ホストのディレクトリ /root/mysql/data をコンテナのディレクトリ /var/lib/mysql にマウントします。同時に、MySQL のルートユーザーパスワードや文字セットなどのパラメータも指定しています。
その他の関連コマンド#
上記で説明したコマンド以外にも、Docker にはさまざまな他の関連コマンドがあります。例えば:
- docker ps:実行中のコンテナを表示します。
- docker stop:実行中のコンテナを停止します。
- docker logs:コンテナのログを表示します。
- docker exec:実行中のコンテナでコマンドを実行します。
- docker build:Dockerfile に基づいて新しいイメージを構築します。
上記は一部の一般的なコマンドですが、Docker には他にも多くの強力な機能とコマンドがありますので、必要に応じて学習と使用を行ってください。
まとめ#
この記事では、Docker の基本的な使用方法と他の関連コマンドについて説明しました。Docker は非常に強力で柔軟なツールであり、開発者が効率的にソフトウェア開発とデプロイを行うのに役立ちます。
この記事の大部分はDocker - 从入门到实践と自分の仕事の記録に基づいています。
PS#
Docker を使い始めてから、MySQL、Redis、Nginx などの多くのコンポーネントを直接 Docker でインストールするようになりました。これにより、バージョンの問題やインストール中のさまざまな問題を心配する必要がなくなり、イメージを取得して起動するだけで済むため、非常に便利です。