Dockerの基本的な手順

Dockerの基本的な手順

最近の作業では、MySQL と MongoDB の運用と保守に関するコンテンツが比較的少ないです。私の主な仕事は、docker や k8s 関連のコンテンツに触れることが多いので、これについて書いてみようと思います。

前回の記事では、Docker に MySQL をデプロイするプロセスを紹介しました。簡単に確認できるリンクを以下に示します。

DockerにMySQLインスタンスをデプロイする

上記の記事では、Dockerとは何か、Dockerと仮想マシンの違い、インストール方法、基本的な使い方について説明しました。次に、その他の知識の側面について見ていきましょう。

基本的な指示

1. 現在のマシンのコンテナステータスを確認する

通常、次のように docker ps コマンドを使用して、現在のマシンで実行されているコンテナを表示できます。

[root@VM-16-13-centos ~]# docker ps
 コンテナID イメージ コマンド 作成ステータス ポート名
7a57ee5286e8 kubeguide/tomcat-app:v1 "catalina.sh run" 8 日前 8 日前 k8s_myweb.7c32387a_myweb-8gmc1_default_b44279ec-48b9-11eb-86e4-5254002dbd85_ec48ef90
b2ad9bea8d0d kubeguide/tomcat-app:v1 "catalina.sh run" 8 日前 8 日前 k8s_myweb.7c32387a_myweb-60r22_default_b4426b29-48b9-11eb-86e4-5254002dbd85_28dd55c9
4f8f6ea37578 registry.access.redhat.com/rhel7/pod-infrastructure:latest "/usr/bin/pod" 8 日前 8 日前 k8s_POD.24f70ba9_myweb-8gmc1_default_b44279ec-48b9-11eb-86e4-5254002dbd85_2d2aa42e
3d198ee60f2a registry.access.redhat.com/rhel7/pod-infrastructure:latest "/usr/bin/pod" 8 日前 8 日前 k8s_POD.24f70ba9_myweb-60r22_default_b4426b29-48b9-11eb-86e4-5254002dbd85_416acda7
94332658780b busybox "sh -c 'tail -f /l..." 6 週間前 6 週間前 k8s_busybox.5057389f_volume-pod_default_13702698-2b17-11eb-86e4-5254002dbd85_a553d58b
f11f11999c42 tomcat "catalina.sh run" 6 週間前 6 週間前 k8s_tomcat.aeb855f2_volume-pod_default_13702698-2b17-11eb-86e4-5254002dbd85_aa729e3d
d2ec1526079f kubeguide/redis-master "redis-server /etc..." 6 週間前 6 週間前 k8s_redis.deb7361f_redis-php_default_f70a055b-2b18-11eb-86e4-5254002dbd85_23135019
5b83d7645b1f registry.access.redhat.com/rhel7/pod-infrastructure:latest "/usr/bin/pod" 6 週間前 6 週間前 k8s_POD.3fe22e5d_redis-php_default_f70a055b-2b18-11eb-86e4-5254002dbd85_c418f108
3b7634ee3eff registry.access.redhat.com/rhel7/pod-infrastructure:latest "/usr/bin/pod" 6 週間前 6 週間前 k8s_POD.24f70ba9_volume-pod_default_13702698-2b17-11eb-86e4-5254002dbd85_0610ed58
4784586d01e0 mysql "docker-entrypoint..." 6 週間前 6 週間前 k8s_mysql.16d54d16_mysql-pd7jr_default_0032bce0-2b0f-11eb-98ad-5254002dbd85_d775f414
c8acc287dc06 registry.access.redhat.com/rhel7/pod-infrastructure:latest "/usr/bin/pod" 6 週間前 6 週間前 k8s_POD.1d520ba5_mysql-pd7jr_default_0032bce0-2b0f-11eb-98ad-5254002dbd85_94c9c30a

その他の注意事項:

-a パラメータは、実行中のコンテナと停止中のコンテナを含むすべてのコンテナを表示するために使用されます。 -a が追加されていない場合は、実行中のコンテナのみが表示されます。

-l パラメータは、実行中のコンテナと停止したコンテナを含む、最後に実行されたコンテナを一覧表示します。

-q パラメータ、コンテナ ID のみを表示します

-s パラメータ、サイズ、ファイルの合計サイズを表示します

2. イメージをダウンロードまたは取得します。

次のように docker pull または docker run を使用できます。

[root@VM-16-13-centos ~]# docker run -i -t ubuntu /bin/bash
イメージ 'ubuntu:latest' がローカルに見つかりません
リポジトリ docker.io/library/ubuntu をプルしようとしています...
 最新: docker.io/library/ubuntu からプル
da7391352a9b: ダウンロード中 [=> ] 588.8 kB/28.56 MB
14428a6d4bcd: ダウンロードが完了しました
 2c2d948710f2: ダウンロードが完了しました

 [root@VM-16-13-centos ~]# docker pull mysql
デフォルトタグの使用: 最新
リポジトリ docker.io/library/mysql をプルしようとしています...

docker run コマンドを使用してイメージをプルすると、Docker は自動的にランダムな名前を付けます。ランダムに名前が付けられたコンテナを使用しない場合は、--name パラメータを使用して名前を指定できます。イメージのバージョン番号を指定しないと、最新バージョンのイメージが自動的にプルされます。

docker runコマンドは、-dパラメータとともに使用されることが多い。これは、保護されたコンテナをバックグラウンドで実行することを意味する。

--restart=always パラメータを使用してコンテナを再起動することもできます。もちろん、デフォルトではコンテナは再起動されません。

3. コンテナの起動、停止、再起動

最後の部分はコンテナ ID またはコンテナ名であることに注意してください。

docker start コンテナID/名前

docker stop コンテナID/名前

docker コンテナID/名前を再起動します

4. コンテナ内のプロセスを表示する

docker top コマンドを使用すると、コンテナ内のすべてのプロセスを表示できます。

[root@VM-16-13-centos ~]# docker top k8s_mysql.16d54d16_mysql-pd7jr_default_0032bce0-2b0f-11eb-98ad-5254002dbd85_d775f414
        UID PID PPID C STIME TTY 時間 コマンド
ルート 5059 5044 0 2020 pts/5 00:00:00 /bin/bash
ルート 5152 5059 0 2020 pts/5 00:00:00 mysql -uroot -px xxxx
ルート 13644 24879 0 2020 pts/4 00:00:00 mysql -uroot -px xxxx
polkitd 18853 18837 0 2020 ? 01:31:43 mysqld
ルート 24153 24137 0 2020 pts/1 00:00:00 /bin/bash
ルート 24376 24153 0 2020 pts/1 00:00:00 mysql -uroot -px xxxx
ルート 24879 24864 0 2020 pts/4 00:00:00 /bin/bash
ルート 25833 25817 0 23:45 pts/8 00:00:00 /bin/bash
ルート 28493 28477 0 2020 pts/3 00:00:00 /bin/bash
ルート 28609 28493 0 2020 pts/3 00:00:00 mysql -uroot -px xxxx
ルート 29484 29468 0 2020 pts/2 00:00:00 /bin/bash
ルート 29601 29484 0 2020 pts/2 00:00:00 mysql -uroot -px xxxx

5. コンテナ内でコマンドを実行する

たとえば、コンテナIDが4784586d01e0のコンテナ内にフォルダを作成し、データフォルダを作成します。

[root@VM-16-13-centos ~]# docker exec -d 4784586d01e0 mkdir -p /data
[root@VM-16-13-centos ~]# docker exec -it 4784586d01e0 /bin/bash
ルート@mysql-pd7jr:/# ls -l
合計 76
drwxr-xr-x 2 ルート ルート 4096 11月17日 00:00 bin
drwxr-xr-x 2 ルート ルート 4096 9月19日 21:39 ブート
drwxr-xr-x 2 ルート ルート 4096 1月5日 15:51 データ
drwxr-xr-x 5 ルート ルート 360 11月 20 09:16 dev
drwxr-xr-x 2 ルート ルート 4096 11月18日 08:16 docker-entrypoint-initdb.d
.....

6. コンテナを削除する

docker rm containID/名前

コンテナを削除する前に、まずコンテナを停止する必要があることに注意してください。そうしないと、削除時にエラーが発生します。

docker rm `docker -a -q`

このコマンドはすべてのコンテナを削除できます。

上記は基本的な docker 命令の詳細です。基本的な docker 命令の詳細については、123WORDPRESS.COM の他の関連記事をご覧ください。

以下もご興味があるかもしれません:
  • カスタム Docker イメージを作成するための Dockerfile の詳細な説明と CMD と ENTRYPOINT 命令の比較
  • Dockerコンテナの操作手順の概要と詳細説明
  • Dockerfile における ENV 命令の具体的な使用法の詳細な説明
  • Dockerfileの指示と基本構造の説明
  • Dockerでイメージを作成するためのDockerfile命令の詳細な説明
  • Dockerfile 命令 ADD と COPY の紹介
  • Dockerfile命令VOLUMEの簡単な紹介
  • Docker 指示の収集と整理 (コレクション)
  • Dockerfile の手順の説明

<<:  表示しているページのスナップショットを Baidu が保存できないように設定する方法

>>:  ユーザーエクスペリエンスの概要

推薦する

モバイルデバイスでのフリーズ問題に対する CSS3 ソリューション (アニメーション パフォーマンスの最適化)

1. CSS、jQuery、Canvasを使用してアニメーションを作成する1. キャンバス利点: ...

blockquote タグの使用に関する注意

<br />セマンティクス化は一言で説明することはできないし、まだ公式かつ厳密な定義もあ...

電子署名を実装するWeChatミニプログラム

この記事では、WeChatミニプログラムで電子署名を実装するための具体的なコードを参考までに紹介しま...

MySQL 8.0.24 リリースノートのいくつかの改善点

目次1. 接続管理2. オプティマイザレベルでの改善3. 機能の改善4. パフォーマンススキーマの最...

mysql-8.0.15-winx64 解凍バージョンのインストールチュートリアルと終了する 3 つの方法

1.公式サイトからダウンロードして解凍する参考: 2. 環境変数を設定するMYSQL_HOMEをMy...

フォームから Vue ElementUI を使用してログイン効果を実装する例

目次1. ElementUIで基本的なスタイルを構築する2. [送信]ボタンをクリックして、アカウン...

HTML ブロックレベルタグとインラインタグの違い

1. ブロックレベル要素: 独立して存在できる能力を指します。通常、ブロックレベル要素は改行によって...

有名なブログの再設計例 28 件

1. Webデザイナーウォール 2. Veerleのブログ 3. チュートリアル9 4. UXブース...

HTML のオートコンプリートを無効にして履歴を表示しないようにする

入力ボックスには、コンテンツを入力するときに常に入力履歴が表示されます。これを無効にする現在の方法は...

MySQLデータベースは重複データを削除し、メソッドインスタンスを1つだけ保持します

1. 問題の紹介ユーザー テーブルに 3 つのフィールドが含まれているシナリオを想定します。 id、...

mysql ビュー関数の分析と使用例

この記事では、例を使用して MySQL ビューの機能と使用方法を説明します。ご参考までに、詳細は以下...

初心者のための HTML コーディングガイドライン 30 選

1. HTMLタグは常に閉じる前のページのソース コードでは、次のような記述がよく見られます。 &l...

【HTML要素】画像の埋め込み方法

img 要素を使用すると、HTML ドキュメントに画像を埋め込むことができます。画像を埋め込むには、...

Hadoop 2.Xの新機能、ごみ箱機能の説明

ごみ箱機能をオンにすると、削除されたファイルの元のデータをタイムアウトなしで復元できるため、誤って削...

Vueスロットの詳細な説明

1. 機能: 親コンポーネントが子コンポーネントの指定された位置に HTML 構造を挿入できるように...