前回Linuxサーバ(EC2)上にDockerソフトをインストールしました。今回はDockerコマンドを学習しながらいろいろ試し、コンテナ操作の基本を確認していきます。前提としては以下の記事と同様にインストールのみが完了している状態とします。稼働コンテナの差分確認コンテナのライフサイクルに関わるコマンドここではイメージからコンテナの生成、起動、そして停止削除などのライフサイクルに関わるコマンドを扱います。私も初心者ですが、イメージに関するコマンドの区別と、コンテナをどの状態からどの状態に遷移させるためのコマンドなのかというところをして意識おけば十分かと思います。コンテナ一覧表示コンテナの一覧表示にはコンテナ用のlsコマンドを使用します。注意点としてはそのまま打つと起動中のコンテナ一覧が表示される点でしょうか。ID」を知るために使用するので先にご紹介です。コンテナの生成イメージからコンテナを生成するためにはイメージ名を指定したcreateコマンドを使用します。気を付けるのはあくまでコンテナの「生成」なので、起動できる状態のコンテナをつくるということで起動はしません。コンテナ生成の際にはスナップショットが作成されるようです。nginx「--name」は生成するコンテナを命名するオプションです。停止中(または生成状態)のコンテナをコンテナ名を指定して起動します。起動中のコンテナをコンテナ名を指定して停止します。起動中のコンテナをコンテナ名を指定して再起動します。停止中のコンテナを削除します。以前の記事でも使用したrunコマンドです。このコマンドはイメージからコンテナを生成すると同時に起動を行うコマンドでした。nginx少しだけオプションを確認しておきます。見てわかる通りにコンテナを命名するオプションです。webserver生成と同時にバックグラウンド実行を行うオプションです。-dポート番号を指定するオプションです。前半部でホスト(今回の場合Linuxサーバ)のポートを指定、後半部でコンテナ自体のポート番号を指定します。80:80今回は使っていませんが以下のようなオプションもあります。標準入力を開くオプション。-i端末デバイスを使用するオプション。-tこれらを使用すると例えばCentOSであれば、コンテナ上のOSでコマンド実行できます。/]#ここまでくれば、普通のLinuxサーバと同様にコマンドが実行できます。確認できたらexitでログアウトできます。コンテナの中断(一時停止)起動中のコンテナを中断します。test中断しているコンテナはlsコマンドでは起動中に分類されるようです。ステータスを確認すると中断していることがわかります。中断中のコンテナを再開します。test稼働中のコンテナへの操作ここでは実際に本番環境などで稼働中のコンテナに対して行う操作を確認していきます。学習環境では有効な活用のイメージが少ししにくいです。以下「testos」というCentOSのコンテナを稼働(起動)している状態を想定しています。コンテナの起動(アタッチ)にたattachコマンドを使います。testos先ほどターミナルから標準入力したときと同じようにログインしたような状態になったかと思います。/]#抜け出す(デタッチする)には「Ctrl+q」を押します。おなじみの「Ctrl+c」でもデタッチできますが、デタッチと同時にコンテナを停止させてしまうようです。本番稼働中でも「Ctrl+c」でコンテナが停止していまうというのはなかなか怖い気もしますね。稼働中のコンテナのプロセスをアタッチせずに確認するにはtopコマンドを用います。testos例えば稼働中のCentOSコンテナのプロセスを確認すると以下のように表示がされます。/bin/bashやはりLinuxコマンドをある程度知っていると断然やりやすい分かりやすいですね。稼働中のコンテナとホストマシンのポートの転送状況を確認できます。以下の例ではtestという名前の「nginx」コンテナに対して実行しています。0.0.0.0:80ここではコンテナの80番ポートからホストの80番ポートに転送が行われていることが確認できます。稼働コンテナの名前変更そのままrenameです。」というコンテナを「devos」という名前に変更しています。devos稼働コンテナとホストのファイル操作ホストとコンテナ間でファイルのやり取りがコマンドにより実行できます。devos:/tmp/container.txt上記の例ではホスト⇒コンテナでファイルをコピーしていますが、ホストとコンテナの順序を逆にすれば逆のやり取りもできます。稼働コンテナの差分確認diffコマンドによりイメージからの差分を確認できます。devosなにかインストールとかすると差分がダーっとでるのでどうすれば有効活用できるんだろう。今回はここまで、もうしばらくはただのコマンド確認が続きます。コマンドを用いたDockerコンテナの基本操作Tweet関連記事2020-02-01【Docker】sudoなしでDockerコマンドを実行するインストール時にやりきれなかった部分を補足。Linux(EC2)にDockerをインストールする今回はDockerのインストールを行います。Dockerの概要をつかむ結構前からDockerにやるやる言っていたDockerに触れていきたい...2020-01-05【AWS-SAA対策】自分用メモ模擬問題集とか、公式模擬を受けてみて弱かった場所の補完。回帰編(多次元モデル)【Docker】sudoなしでDockerコマンドを実行する月別アーカイブはてなブログをはじめよう!wantanBlogさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。