2017年1月3日火曜日

Dockerでハマる

Dockerの設定でハマりましたので、メモを残していきます。
localはMac OS X
vagrant Guest OSはubuntu trusty 14 ubuntuからさらにdocker centos


メモ

docker search centos
コンテナの検索

docker pull コンテナ名
コンテナのプル

docker images
ローカルにあるコンテナの一覧を表示
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
bitnami/laravel     latest              f4d49b3f87fa        4 days ago          498.8 MB
bitnami/mariadb     latest              c6af5faf5034        4 days ago          560 MB
centos              latest              67591570dd29        2 weeks ago         191.8 MB
hello-world         latest              c54a2cc56cbb        6 months ago        1.848 kB

docker inspect centos:latest
レポジトリ名:タグでコンテンを指定する
もしくはIMAGE IDを指定する。一意に特定できれば頭の数文字でもオッケー
JSON形式だそうです。

docker rmi コンテナ名
ReMove Imageの略だそうです。

docker rm コンテナ名
コンテナの削除

docker run centos [コマンド]
コンテナ上でコマンドの実行

docker ps [-a] [-n=n]
コンテナの起動履歴
-aをつけると終了したコンテナも確認できる
-n=5とオプションをつけると最新の5件を確認できる
Exited (0)は正常終了。普通のlinuxコマンド同様みたいですね。
docker ps -l -qで直近で起動したコンテナの ID を取得
-lはlatest、-qはquite

docker run -d コンテナ名
バックグランドでコンテナを実行

docker attach [--sig-proxy=false] コンテナID
バックグランドコンテナ(?)をフォアグランドに持ってくる
[--sig-proxy=false]をつけることでCtrl+cで抜けることができる。

実行中のコンテナの停止
docker コンテナID

docker start コンテナID
コンテナの再起動(再開)

docker run -i -t コンテナ名 シェル
-i インタラクティブモード
-t ターミナルでログイン
コンテナをフォアグランドで起動してターミナルでログイン

ターミナルでログインしたコンテナを終了する
exit
だけ

docker commit コンテナID 新しいイメージ名
既存コンテナからイメージを作成します。

Dockerfile
#コメント
FROM命令:スペースに続いて元となるイメージを指定する
MAINTAINER:スペースに続いて作成者名を記載する
RUN:スペースに続いてコマンドを指定。構築時に実行される。
CMD:スペースに続いてコマンドを指定。exec形式が推奨されている["実行バイナリ", "引数"[, "引数"] ]。
コンテナ実行時に実行される。1行しか実行されない。複数行ある場合は最後だけ。

0 件のコメント:

コメントを投稿