Dockerの基礎

Dockerの基礎

序文:

Docker はオープンソースのアプリケーション コンテナ エンジンであり、開発者はこれを使用してアプリケーションと依存関係をポータブル イメージにパッケージ化し、一般的な Linux または Windows マシンに公開できます。近年、中国ではDockerが急速に発展しており、特にインターネット企業ではDockerの使用が非常に一般的になり、アプリケーションのメンテナンス効率が大幅に向上し、クラウドコンピューティングアプリケーションの開発コストが削減されました。この記事では主に Docker とそのインストールおよび簡単な使用方法を紹介します。

1. Dockerをインストールする

Docker を学ぶには、まず Docker をインストールする必要があります。バージョン 17.03 以降、Docker は CE (Community Edition) と EE (Enterprise Edition) に分かれています。以下では、CentOS システムを例に、Docker Community Edition のインストールを紹介します。

古いバージョンをアンインストールする

Docker の古いバージョンは docker または docker-engine と呼ばれます。古いバージョンをアンインストールするには、次のコマンドを使用します。

$ sudo yum 削除 docker \
         dockerクライアント\
         docker-client-最新 \
         docker-common \
         docker-最新 \
         docker-最新-logrotate \
         docker-logrotate \
         dockerエンジン

依存パッケージをインストールする

#yumの設定 source sudo yum-config-manager \
--リポジトリを追加\
https://mirrors.ustc.edu.cn/docker-ce/linux/centos/docker-ce.repo

#依存パッケージをインストールします sudo yum install -y yum-utils \
デバイスマッパー永続データ \
lvm2

Docker CEの最新バージョンをインストールする

sudo yum-config-manager --enable docker-ce-edge
sudo yum makecache 高速
sudo yum で docker-ce をインストールします

Docker CEを起動する

sudo systemctl でdockerを有効にする
sudo systemctl dockerを起動します

Dockerユーザーグループを作成する

sudo グループ追加 docker
sudo usermod -aG docker $USER

hello-worldテストを実行する

$ docker run hello-world
ローカルでイメージ 'hello-world:latest' が見つかりません
最新: library/hello-world から取得
ca4f61b1923c: プル完了
ダイジェスト: sha256:be0cd392e45be79ffeffa6b05338b98ebb16c87b255f48e297ec7f98e123905c
ステータス: hello-world:latest の新しいイメージをダウンロードしました
Dockerからこんにちは!
このメッセージは、インストールが正常に動作していることを示しています。
このメッセージを生成するために、Docker は次の手順を実行します。
1. Docker クライアントが Docker デーモンに接続しました。
2. Docker デーモンは Docker Hub から「hello-world」イメージを取得しました。
(amd64)
3. Dockerデーモンは、そのイメージから新しいコンテナを作成し、
現在読んでいる出力を生成する実行可能ファイル。
4. Dockerデーモンはその出力をDockerクライアントにストリーミングし、Dockerクライアントはそれを
端末に。

もっと野心的なことに挑戦するには、次のコマンドで Ubuntu コンテナを実行できます。
$ docker run -it ubuntu bash

無料の Docker ID を使用して、イメージを共有したり、ワークフローを自動化したりすることができます。
参考:

その他の例やアイデアについては、以下をご覧ください。
詳しくはこちら

ここまでで、Docker のインストールに成功しました。同様に、Windows と macOS に Docker をインストールするのも非常に簡単です。Docker Desktop インストール パッケージをダウンロードしてインストールし、使用することができます。詳細については、次の公式ドキュメントを参照してください。

https://docs.docker.com/docker-for-windows/インストール/
インストール

2. 一般的なコマンドの紹介

Docker を学ぶには、まずその全体的なアーキテクチャを理解する必要があります。ここでは、Docker の 3 つの基本概念について簡単に紹介します。

  • イメージ: Docker イメージはルート ファイル システムに相当します。たとえば、公式イメージ ubuntu:16.04 には、Ubuntu 16.04 最小システムの完全なルート ファイル システムが含まれています。
  • コンテナ: イメージとコンテナの関係は、オブジェクト指向プログラミングにおけるクラスとインスタンスの関係に似ています。イメージは静的な定義であり、コンテナはイメージ実行時のエンティティです。コンテナは作成、開始、停止、削除、一時停止などが可能です。
  • リポジトリ: リポジトリは、イメージを保存するために使用されるコード制御センターです。

ミラー関連のコマンド:

1) 画像の検索
docker search イメージ名 (redis など)

2) 画像をダウンロードする
docker pull イメージ名

3) ローカルミラーリストを表示する
Docker イメージ

4) 画像を削除する
docker rmi イメージ ID

コンテナ関連のコマンド:

1) イメージをコンテナとして実行する
docker run --name コンテナ名 -d イメージ名
-d は detached の略で、このコマンドを実行した後、コンソールがブロックされず、コマンドの入力を続行できることを意味します。
2) 実行中のコンテナのリストを取得する
ドッカーps
3) 終了コメントを含むすべてのコンテナのリストを取得します。
ドッカーps -a
4) コンテナを停止して起動する
docker 開始/停止 コンテナ名/ID

5) ポート マッピングでは、コンテナー内で実行されているソフトウェアのポートをホストのポートにマッピングする必要があります。マッピングしないと、LAN 内のホストはソフトウェアにアクセスできなくなります。
docker run -d -p 6378:6379 --name myRedis redis
-p: コンテナのポート6379をホストのポート6378にマップします
6) コンテナを削除する
docker rm id
7) 現在のコンテナログを表示する
docker ログ名/ID
8) コンテナにログインする
docker exec -it コンテナ名 bash
-i: 入力が有効であることを確認する
-t: 現在のコンテナにログインするための擬似端末が割り当てられます。ログイン後はコンテナ内で通常の Linux コマンド操作を実行できるほか、exit コマンドを使用してログアウトすることもできます。

要約:

この記事では、Dockerのインストールとよく使うコマンドについて簡単に紹介します。入門記事として、皆さんのお役に立てれば幸いです。実際、Docker は基本的なツールなので、習得することをお勧めします。たとえば、MySQL インスタンスを数秒で起動できます。また、Docker を使用して新しいバージョンを実行およびテストすることもできます。次の記事では、Docker で MySQL を実行および構成する方法について説明しますので、お楽しみに!

以上がDockerの簡単な入門チュートリアルの詳しい内容です。Dockerの始め方や使い方の詳細については、123WORDPRESS.COMの関連記事もぜひご覧ください!

以下もご興味があるかもしれません:
  • Dockerの理解と基本コマンドの詳細な説明
  • Dockerの機能と原則の詳細な紹介と分析
  • Dockerを理解する(1):Dockerのインストールと基本的な使い方の詳しい紹介
  • Dockerのインストールと基本的な使い方の詳細な紹介
  • Dockerコンテナイメージ関連コマンドの基本的な紹介と使用方法

<<:  Mysql の読み取り/書き込み分離期限切れに対する一般的な解決策

>>:  jsでユーザー登録機能を実装する

推薦する

テーブルパーティションとパーティション分割とは何ですか?MySqlデータベースパーティションとテーブルパーティション分割方法

1. テーブルとパーティションを分割する必要があるのはなぜですか?日常の開発では、大きなテーブルに遭...

js を使用して過去 1 週間、1 か月、3 か月の時間を取得する簡単な例

目次過去1週間の時間を取得する過去1か月の時間を取得する過去3か月分を取得新しい Date() と ...

MySQLトランザクションとMySQLログの詳細な説明

取引特性1. アトミック性: トランザクションの開始後、すべての操作が完了するか、まったく実行されな...

JavaScriptは、マウスが通過したときにドロップダウンボックスを表示するように実装します。

この記事では、マウスがドロップダウンボックスの上を通過するときにドロップダウンボックスを表示するため...

モバイル署名機能を実装するJavaScript

この記事では、モバイル署名機能を実装するためのJavaScriptの具体的なコードを参考までに共有し...

MySQLにおけるビューの作成(CREATE VIEW)と使用制限の詳しい説明

この記事では、例を使用して、MySQL ビューの作成 (CREATE VIEW) と使用上の制限につ...

Nginx をベースに特定の IP への短期アクセス数を制限する

特定の期間内に特定の IP へのアクセス回数を制限する方法は、特に悪意のある DDOS 攻撃に直面し...

React+tsは二次リンク効果を実現します

この記事では、二次リンク効果を実現するためのReact+tsの具体的なコードを参考までに共有します。...

HTML テキストエスケープのヒント

今日、CSDN で HTML テキスト エスケープのちょっとしたトリックを見ましたが、とても簡単です...

Mac OS に MySQL 5.7.20 をインストールするための詳細なグラフィックとテキストの説明

Mac OS X で TAR.GZ から MySQL 5.7 をインストールする MySQL 5.6...

フロントエンドAIカットのコツ(体験談)

AI 画像の切り取りは PS と連携する必要があります。まず、スライスするレイヤーを選択し、それを...

Reactは二次連結(左右連結)を実現する

この記事では、二次リンクを実現するためのReactの具体的なコードを参考までに共有します。具体的な内...

Dockerは公式Redisイメージをインストールし、パスワード認証を有効にします

参考: Docker 公式 Redis ドキュメント1. 特別なバージョン要件がある場合は、redi...

メタタグのビューポートはデバイス画面のCSSを制御します

コードをコピーコードは次のとおりです。 <meta name="viewport&q...

MySQL エラー: ロックを取得しようとしたときにデッドロックが見つかりました。トランザクションの解決策を再起動してください

問題を見つける最近、以前のデータを入力していたときに、プログラムが突然次のエラーを報告しました。 [...