たーみなる…?という状態からdockerを触ってみました。
なのでフワッとしか理解してませんが、コマンド系を自分用にメモしていきます。
##コンテナ関連
###起動中のコンテナ一覧を表示する
docker ps
停止中のコンテナを表示させたい場合はdocker ps -a
。
起動中も停止中も含めた全てのコンテナを表示させたい場合はdocker container ls -a
###コンテナを止める
docker container stop コンテナ名
全てのコンテナを止める場合はdocker stop $(docker ps -q)
###コンテナを消す
docker container rm コンテナ名
全てのコンテナを消す場合はdocker rm $(docker ps -q -a)
###コンテナ内に移動
sudo docker exec -i -t コンテナ名 bash
###vimコマンド
dockerコマンドとは別ですが、コンテナに入ったときvimコマンドをよく使うのでついでにメモ。
####ファイルを編集
vi ファイル名
lsやcdで対象のディレクトリまで移動してファイル名を確認。
####そもそもviが使えないと言われたら
apt-get update
apt-get install vim
コンテナから一旦出てから上記コマンドを打って、パッケージリストを更新した後vimをインストール。
ファイル編集後、終了コマンドは次の通り
:q (書き込まず終了)
:q! (書き込まず強制終了)
:wq (書き込みを保存して終了)
:wq! (書き込みを保存して強制終了)
詳しくは「vi」と検索すれば他にも色んなコマンドのまとめが出てくるので参考にしてください。
当たり前すぎるのかもしれませんが、まずescキーを押さないと上記のコマンドは打てません。
viと検索してもあまりそこは書かれてない気がして、初心者には不親切だなと思いました。いまだによく忘れるのでメモ。
###エラーログを確認
思ったように動かないときエラーログを見てみましょう。
これもコンテナに入って使うコマンドなのでついでにメモ。
nginxのコンテナを例にしています。
####エラーログやアクセスログが見られるディレクトリに移動
cd /var/log/nginx/
nginxならここ。
####エラーログの最新の10件を表示
tail -f error.log
tail
が最新の10件を表示させていて、-f
はログを日本時間でリアルタイムに監視し表示してくれる。
##イメージ関連
####イメージ一覧を表示
docker images
####イメージを削除
基本的に、イメージを消すには紐づけられたコンテナを削除してある必要があります。
docker rmi イメージID
全てのイメージを消す場合はdocker rmi $(docker images -q)
####イメージを強制的に消す
docker rmi イメージID -f
-f(force)を使うとコンテナを消さずに強制削除できます。その際はコンテナは消されずに残ります。
##その他メモ
###コンテナ名は指定しておくと楽
コンテナ名は、docker container ls -aなどでコンテナ一覧を表示した際に表示されるIDの頭2文字でも代用できる(重複した場合はフルで記入する)ため、しばらくその方法を採用していたのですが毎度一覧表示させるのが面倒でした。
そこでDocker-Compose.ymlでcontainer_name:を指定してしまえば履歴を辿れるし、チームで開発する際README.mdなんかにも書きやすくなります。