Docker よく使うコマンド集
Dockerイメージリストの確認
$ docker images
Dockerイメージからコンテナ作成、起動
$ docker run -i -t [REPOSITRY名:TAG名] /bin/bash
Dockerコンテナからイメージを作成する
$ docker commit [コンテナid] [REPOSITRY名:TAG名]
Dockerコンテナの確認(停止中コンテナも表示する場合は -a オプションをつける)
$ docker ps -a
停止中のDockerコンテナを稼働させる
$ docker start [コンテナid]
稼働中のDockerコンテナを停止させる
$ docker stop [コンテナid]
Dockerコンテナ削除
$ docker rm [コンテナid]
Dockerイメージ削除
$ docker rmi [イメージid]
・便利なdockerコマンド
稼働しているdockerコンテナすべて停止
$docker stop `docker ps -q`
dockerコンテナすべて削除
$docker rm `docker ps -a -q`
コンテナからexitするときにコンテナ削除(使い捨て)
$docker run -ti --rm [イメージID]
centosでsystemctl start [サービス名]とするとエラーがでる場合
$ docker run --privileged -d --name http centos /sbin/init
コンテナ内で作業する
$ docker exec -it http bash
サービスを立ち上げてコンテナ起動
centos7の場合
$ docker run --privileged -d -p 80:80 --name httpd centos:centos7 /sbin/init
centos6の場合
$ docker run -p 8080:80 -d cent6_apache /usr/sbin/apachectl -DFOREGROUND
docker イメージの保管場所
まずdockerのimage ID の確認
$ cat /var/lib/docker/repositories-devicemapper
表示されたJSONをJSON Lintなどにかけて読みやすくするなどして探したいイメージファイルのIDを探す
$ ls /var/lib/docker/graph/[image ID]
作成したコンテナを別PCで動作させる方法
Dockerコンテナをファイル出力する
$ docker export [コンテナid] > [出力ファイル名]
出力したコンテナファイルを開発メンバーに渡して、メンバーは出力ファイルをインポートコマンドで叩けば、構築済みのDockerイメージを得ることができる為、docker runすることで同一環境を得ることが可能
cat [インポートファイル] | docker import - [REPOSITRY名:TAG]
docker-compose
バックグラウンドで立ち上げる
$ docker-compose up -d
Docker exec的なやつ
docker exec -it $(docker-compose ps -q httpd) bash
Docker-composeのimageをdownついでに削除
docker-compose down --rmi all