0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Dockerの使い方(自分用)

0
Last updated at Posted at 2025-02-02

Docker Hubからイメージを作成

イメージの取得

docker pull 'イメージ名':'バージョン'

取得したイメージの確認

docker images

イメージの削除

docker rmi 'イメージ名またはID'

コンテナを作成して起動する

コンテナの作成と起動(同時)

docker run --name '作成するコンテナ名' -d -p 'ホストポート':'コンテナポート' 'イメージ名'
  • -d:バックグランド(デタッチド)モードで実行

例:nginxのコンテナを起動し、ホストの8080ポートをコンテナの80ポートにマッピングする場合

docker run --name my-nginx -d -p 8080:80 nginx

※ Ubuntuなどの場合は以下のようにしないと、起動してもすぐに終了する

docker run -it --name myubuntu ubuntu

作成したコンテナの起動(再開)

docker start 'コンテナ名'

コンテナの状態を確認する

すべてのコンテナの確認

docker ps -a

起動しているコンテナだけを確認

docker ps

コンテナの操作

コンテナを停止する

docker stop 'コンテナ名またはID'

コンテナを削除する

docker rm 'コンテナ名またはID'

コンテナ内にアクセスする方法

docker exec -it 'コンテナ名' 'コマンド'

例:my-ubuntuコンテナ内のbashを起動

docker exec -it my-ubuntu /bin/bash
  • -it : 対話モードで起動

※コンテナはプロセスが動いていないとすぐに終了する。
 この場合はbashを起動している

起動しているプロセスに接続する

docker attach 'コンテナ名'

「exec」と「attach」の違い

コマンド 説明
docker attach <コンテナ名> 現在動作しているプロセスに接続する
docker exec -it <コンテナ名> /bin/bash 新しいプロセスを開始してコンテナに入る

例えば、すでに実行中のコンテナがあって、それにシェルがない場合、attachではシェルを開けません。その場合は、execを使って/bin/bashを実行する必要があります。

attach で接続すると、通常のシェルのように見えますが、抜けるときには特別な操作が必要です。
① 安全に抜ける(コンテナを停止せずに離れる)

Ctrl + P, Ctrl + Q

② exit で抜ける(コンテナが停止する)

exit

→ これを実行すると、コンテナ自体が終了してしまうので注意!

attachを使う場面

  • デバッグやログの確認
    attach を使うと、コンテナの標準出力をリアルタイムで監視できます。
    たとえば、コンテナのログを追いかけたり、標準入力が必要なプロセスを直接操作したい場合に便利です。

  • バックグラウンドで実行したコンテナに入る
    docker run -d で起動したコンテナに接続し、実行中のプロセスの様子を見たり、対話的に操作できます。

単にログを見たいだけなら「docker logs」

docker logs -f 'コンテナ名'

-f(フォローオプション)を付けると、リアルタイムでログを見続けられる

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?