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 での実行計画の explain コマンド例の詳細な説明

序文explain コマンドは、クエリ オプティマイザーがクエリの実行を決定した方法を確認する主な方...

CSS--overflow:hidden のプロジェクト例

以下は、私のプロジェクトでこのプロパティを使用する方法の例です。 (1)激しく透明な浮遊コードをコピ...

Baidu百科事典UIの開発動向について議論する

<br />百度百科事典の正式版がついにオンラインになりました。2年間の「テスト版」の帽...

JVMシリーズのメモリモデルの詳細な説明

目次1. メモリモデルとランタイムデータ領域2. マインドマップと凡例3. オブジェクトはJVMから...

CentOS7にsshをインストールして設定する

1. openssh-serverをインストールする yum インストール -y openssl o...

イメージのパッケージ化とワンクリック展開を実現するためにDockerを組み合わせたアイデア

1. サーバーにDockerをインストールする yumでdockerをインストール設定ファイルを変更...

MySQL でスロークエリログを有効にする方法

1.1 はじめにスロークエリログを有効にすると、MySQL は指定された時間を超えるクエリステートメ...

エラー 1045 (28000): ユーザー ''root''@''localhost'' のアクセスが拒否されました (パスワード使用: YES) 実用的な解決策

昨日はデータベースへの接続に問題はありませんでしたが、今日はデータベースへの接続時にこのエラーが報告...

Mysql の 2 つのテーブル間の結合クエリの 4 つの状況の概要

一般的に言えば、より完全な結果を得るためには、2 つ以上のテーブルから結果を取得する必要があります。...

MYSQL フルバックアップ、マスタースレーブレプリケーション、カスケードレプリケーション、および半同期の概要

MySQL フルバックアップ1. バイナリログを有効にし、データベースから分離して別々に保存する v...

JavaScript におけるシリアル操作と並列操作

目次1. はじめに2. es5メソッド3. 非同期関数のシリアル実行4. 非同期関数の並列実行5. ...

MySql 8.0.11 のインストールと設定のチュートリアル

公式ウェブサイトアドレス: https://dev.mysql.com/downloads/mysq...

vscode dockerプラグインのdocker.socket権限問題を解決する

解決策: システム内のすべての .vscode 関連プロセスを終了します (または、remote-s...

MySQL 文字列分割の例 (区切り文字なしの文字列抽出)

区切り文字なしの文字列抽出質問の要件データベース内のフィールド値:実装効果: 1行のデータを複数行に...

ElementUIはカスケードセレクタを実装します

この記事の例では、カスケードセレクターを実装するためのelementUIの具体的なコードを参考までに...