Docker コマンド覚書
Docker コマンド覚書:
個人的にいつもdockerのコマンドで迷子になってしまうので
ここに備忘録として残します。
以下が上記コマンドの実行例となる
起動中のコンテナをそのまま削除することはできないためコンテナを停止させる。
その後、停止済みのコンテナを実際に削除
実行例
ctrl + P -> ctrl + Q
を実行すると、実行中コンテナシェルをぬける。
この状態で
以下、実行例
上記の用にぬけたコンテナのSTATUSがUpの状態になっていることを確認
このコマンドは既に/bin/bashというコマンドを実行中のプロセスへつなぐ模様
上記の用にコマンドを実行すると
このように/bin/bashという同様のコマンドで別プロセスが立ち上がっているのがわかる
この際ログインシェル上で< ctrl + P -> ctrl + Q > を実行してシェルを抜けると
次に同様のコマンド
上記を使ってシェルログインすると
プロセスが新規で立ち上がる
コンテナシェルからログアウト後
コンテナが起動中なのを確認する
その後
個人的にいつもdockerのコマンドで迷子になってしまうので
ここに備忘録として残します。
dockerコンテナに対するコマンド
(1)任意のDockerイメージからコンテナを起動
docker run --name some-running-container -d -p 11180:80 nginx # --name コンテナ名の指定 # -d バックグラウンドで実行 # -p ホスト側port:コンテナ側port # 最後のオプション(利用するコンテナイメージ)
(2)動作しているコンテナ一覧を取得
docker container ls # docker container ls --help を実行するとわかるが、実行中のコンテナのみを表示 docker container ls -a # 実行、停止問わずすべてのコンテナを表示
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 3e2cb7259af9 nginx "nginx -g 'daemon of…" 8 seconds ago Up 6 seconds 0.0.0.0:11180->80/tcp some-running-container
(3)指定したコンテナを削除する
起動中のコンテナをそのまま削除することはできないためコンテナを停止させる。# コンテナ停止コマンド docker contaienr stop some-running-container # 停止中コンテナ確認コマンド docker container ls -a # 実行例 CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 3e2cb7259af9 nginx "nginx -g 'daemon of…" 2 minutes ago Exited (0) 4 seconds ago some-running-container # 指定したコンテナのstatusが<Exited>となっている点を確認する
docker container rm some-running-container or 60eb477a4e15 # コンテナ名あるいはコンテナIDで削除
docker起動時に任意のコマンドを指定する場合
(1)dockerコマンド入力時に最後にコンテナ内で実行するコマンドを指定
docker run -ti --name some-running-shell centos /bin/bash # dockerコマンドの最後に当該のコンテナ内で実行したいコマンドを指定する
C:\Users\root\development_php7>docker run -ti --name some-running-shell centos /bin/bash Unable to find image 'centos:latest' locally latest: Pulling from library/centos aeb7866da422: Pull complete Digest: sha256:67dad89757a55bfdfabec8abd0e22f8c7c12a1856514726470228063ed86593b Status: Downloaded newer image for centos:latest [root@f2f08a3dcb76 /]#
(2)ログイン中のコンテナ内から一時的に抜ける
ctrl + P -> ctrl + Qを実行すると、実行中コンテナシェルをぬける。
この状態で
docker container ls -a # と実行すると
C:\Users\root\development_php7>docker container ls -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES f2f08a3dcb76 centos "/bin/bash" 7 minutes ago Up 7 minutes bash_shell
(3)離脱したコンテナへ再度ログインする
docker container attach <コンテナ名>
[root@f2f08a3dcb76 /]# ps aux USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.0 0.1 11828 2968 pts/0 Ss 02:10 0:00 /bin/bash root 14 0.0 0.1 51716 3524 pts/0 R+ 02:23 0:00 ps aux
(4)コンテナ起動時のプロセスには触れずに新規で任意の起動中コンテナへシェルログインする
docker container exec -ti some-running-container /bin/bash
[root@f2f08a3dcb76 /]# ps aux USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.0 0.1 11828 3056 pts/0 Ss+ 02:10 0:00 /bin/bash root 15 0.4 0.1 11828 2852 pts/1 Ss 02:23 0:00 /bin/bash root 28 0.0 0.1 51716 3496 pts/1 R+ 02:24 0:00 ps aux
この際ログインシェル上で< ctrl + P -> ctrl + Q > を実行してシェルを抜けると
次に同様のコマンド
docker container exec -ti some-running-container /bin/bash
[root@f2f08a3dcb76 /]# ps aux USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.1 0.1 11828 2956 pts/0 Ss+ 02:29 0:00 /bin/bash root 14 0.0 0.1 11828 2888 pts/1 Ss+ 02:29 0:00 /bin/bash root 34 0.4 0.1 11828 2952 pts/2 Ss 02:30 0:00 /bin/bash root 47 0.0 0.1 51716 3504 pts/2 R+ 02:30 0:00 ps aux
(5)起動中のコンテナを停止する
コンテナシェルからログアウト後CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES f2f08a3dcb76 centos "/bin/bash" 30 minutes ago Up 11 minutes bash_shell
その後
docker container stop bash_shell docker container ls -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES f2f08a3dcb76 centos "/bin/bash" 31 minutes ago Exited (137) About a minute ago bash_shell # 任意のコンテナのSTATUSが<Exited>となっている点を確認
(6)停止したコンテナを削除する
docker container rm bash_shell
dockerイメージに対するコマンド
(1)ダウンロード済みのイメージ一覧
docker images -a # 実行例 REPOSITORY TAG IMAGE ID CREATED SIZE nginx latest be1f31be9a87 8 days ago 109MB
(2)任意のdockerイメージの削除
docker rmi 6bb891430fb6 75835a67d134 ... # コマンドオプションのコンテナIDはスペース区切りで複数指定可能
コメント
コメントを投稿