個人的に使うDocker関連のコマンドやTipsのまとめ。
コマンド
イメージの一覧
ローカルにあるイメージの一覧は以下で確認できる。
$ docker images
イメージの取得
以下のコマンドでローカルにイメージを取得することができる。
$ docker pull {image}
イメージの削除
以下のコマンドでイメージを削除できる。
$ docker rmi {イメージのID}
イメージに名前をつける
Dockerfileのビルドをした時に古いイメージが以下の様にnoneになる。
REPOSITORY TAG IMAGE ID CREATED SIZE
<none> <none> 35b5b7f8723f 4 hours ago 2.8GB
削除(docker rmi)しても良いが、残しておきたい時に名前をつけるコマンド。
$ docker tag {IMAGE ID} {新しいimage名}:{新しいtag名}
名前付きでコンテナの起動(ログインなし)
コンテナを名前付きで起動するコマンド。
$ docker run -dit --name {name} {image}:{tag}
例)
docker run -dit --name my-centos centos:centos7
マウントしつつコンテナの起動
マウントしつつコンテナを起動するコマンド。
docker run -dit -v {ホスト側のディレクトリ}:{コンテナ側のディレクトリ} {image}:{tag}
起動しつつログイン
イメージ(コンテナ)を起動しつつ、ログインするには以下のコマンド。
試して見たところ「/bin/bash」は「/bin/sh」でもOK。
$ docker run -t -i {image}:{tag} /bin/bash
起動済みのコンテナにログイン
起動済みのコンテナにログインするには以下のコマンド。
$ docker exec -it {コンテナのID} /bin/bash
コンテナのIDは「docker ps」で確認できる。
コンテナの一覧
コンテナの確認は
$ docker ps -a
もしくは
$ docker container ls -a
で可能。違いは不明(私の手元で確認した結果は同じ)。違いが分かったら追記予定。
特定の名前のコンテナの一覧
特定の名前のコンテナの一覧は「-f」(フィルタ)のオプションを使って以下のようにして可能。
$ docker ps --filter "name=my-app"
上記は「my-app」という名前を含むコンテナの一覧が表示される。
コンテナの削除
コンテナの削除は以下のコマンドで可能。コンテナのIDは「docker ps」で確認する。
$ docker rm {コンテナのID}
停止しているコンテナの起動
停止しているコンテナの起動は以下のコマンドで。コンテナのIDは「docker ps」で確認する。
$ docker start {コンテナのID}
Dockerfileからカスタムイメージを作成
Dockerfileファイルからカスタムイメージを作成する際のコマンドは以下。
$ docker build -t {イメージ名} {Dockerfileの置いているディレクトリ}
ここでのイメージ名は自分でつける名前。
Tips
xdebug付きのPHPイメージ作成
とあるPHP系のイメージにxdebugがインストールされておらず困ったので、xdebug付きのイメージを作成する方法をメモ。少々長くなったので別のページに記載しました。
イメージ内のファイルの取得
Dockerイメージ内のファイルの取得方法。以下はapacheのhttpd.confの取得の例です。
$ docker run --rm httpd:2.4 cat /usr/local/apache2/conf/httpd.conf > httpd.conf
「httpd:2.4」を取得対象のイメージに「/usr/local/apache2/conf/httpd.conf」を取得したいファイルに変えれば、他のイメージでも取得できると思います。
コメント