Docker関連のコマンド・Tips

個人的に使う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のPHPイメージにxdebugをインストール
ここではDockerのPHPのイメージへxdebugをインストールすることを試していきます。 PHPイメージの取得 まずは、phpのイメージを取得しておきたいと思います。 公式 公式のイメージは以下に記載されています。 コマンド コマンドは...

イメージ内のファイルの取得

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」を取得したいファイルに変えれば、他のイメージでも取得できると思います。

コメント

タイトルとURLをコピーしました