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でユーザー登録機能を実装する

推薦する

Vue 監視属性のグラフィック例の詳細な説明

目次リスナープロパティとは何ですか?リスニングプロパティと計算プロパティの違いは何ですか?監視プロパ...

inline-blockプロパティとの互換性

<br />1年前、インターネット上にはinline-blockプロパティに関する記事は...

Docker イメージ管理の一般的な操作コード例

ミラーリングも Docker のコアコンポーネントの 1 つです。ミラーリングはコンテナ操作の基盤で...

位置固定オフセット問題を解決する方法の詳細な説明

質問CSS 固定配置の position:fixed は非常に使いやすいです。ブラウザのビューポート...

MySQLインデックスの基礎となるデータ構造の詳細

目次1. インデックスの種類1. B+ツリー2. MyISAM と InnoDB の B+ ツリー ...

友達やグループを見つけるためのJavaScriptのLayim

現在、layuiの関係者はlayim友達検索ページの構造とスタイルを提供していません。私は個人的に非...

JavaScriptページングコンポーネントの使い方の詳細な説明

ページネーションコンポーネントはWeb開発でよく使われるコンポーネントです。ページネーション機能を実...

TypeScript名前空間の説明

目次1. 定義と使用1.1 定義1.2 使用2. 複数のファイルに分割する3. エイリアス序文: T...

HTML ul および li タグを使用して画像を表示するサンプル コード

以下のコードをDreamweaverのコードエリアにコピーすると、プレビュー時に以下の画像が表示され...

HTML ヘッドタグの詳細な紹介

HTML のヘッド部分には、ブラウザによる Web ページのレンダリングや SEO などに関連するタ...

同じ日の最初の3つのデータを取得するためのMySQLタイムラインデータ

テーブルデータを作成する テーブル `praise_info` を作成します ( `id` bigi...

クールな花火効果を実現するjs

この記事では、jsを使用してクールな花火効果を実現するための具体的なコードを参考までに共有します。具...

Vue.js フロントエンドフレームワークにおけるイベント処理の概要

1. v-onイベント監視DOM イベントをリッスンするには、v-on ディレクティブを使用します。...

概要ページでのフロートとクリアフロート

1. フロート: 主な目的は、テキストを画像の周囲に折り返す効果を実現することです。また、複数列レイ...

HTML における br と br/ の違い

スタックフローからの回答:単に<br>だけで十分です。その他の形式は、XHTML との互...