Docker Memo


Docker使ってみました!とても簡単に使えました。メモです

CentOS 6.5を使用しました。ゲスト側はofficialcentos (6.4)

※ゲストのcentosは、最小限でpasswdとかも入ってません。なので必要な場合は yum install passwdでインストールしてください。

passwd しようとすると以下のエラーが出ました。
passwd: unconfined_u:system_r:initrc_t:s0 is not authorized to change the password of user
ホスト側SELinuxDisableにすると大丈夫です
[ /etc/selinux/configSELINUXdisabledにして再起動すればいいです]
(ずっとゲスト側でSELinux止めれないなーって悩んでました()

なので、困った場合はホスト側のSELinuxを切ってみてください

1. インストール

epelパッケージを追加
rpm -ivh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
docker-ioをインストール
yum install docker-io
Dockerサービスを起動&自動起動設定
service docker start
chkconfig docker on

2. イメージ

今回はイメージ名はcentosを使用しました
イメージを検索
docker search イメージ名
イメージの詳細情報を表示
docker inspect イメージ名
イメージを取得
docker pull イメージ名
イメージの一覧を表示
docker images
イメージを削除
docker rmi イメージ名またはイメージID

3. コンテナ

コマンドを実行
docker run イメージ名 /bin/echo HelloWorld!
バックグラウンドでコマンドを実行
docker run -d イメージ名 /usr/sbin/sshd
シェルの起動
docker run -i -t イメージ名 /bin/bash
バックグラウンドでシェルの起動
docker run -i -t -d イメージ名 /bin/bash
既に起動しているコンテナにBashでログイン
docker exec -it イメージ名 bash

ポート割り当て
-p ホストポート:コンテナポート
ディレクトリのマウント
-v ホストディレクトリ:コンテナディレクトリ:rw
-v ホストディレクトリ:コンテナディレクトリ:ro

起動しているコンテナを一覧表示(コンテナIDの確認)
docker ps
全てのコンテナを一覧表示
docker ps -a

状態の表示(IP等)
docker inspect コンテナID
起動しているプロセスを表示(top)
docker top コンテナID
ログを表示
docker logs コンテナID

コンテナを削除
docker rm コンテナID
停止しているコンテナを全て削除
docker rm `docker ps -a -q`

4. コンテナ操作

コンテナにアタッチ
docker attach コンテナID
コンテナをデタッチ
[Ctrl-p] [Ctrl-q]

コンテナを開始
docker start コンテナID
コンテナを停止
docker stop コンテナID

コンテナをイメージに追加
docker commit コンテナID 新しいイメージ名

Dockerfileをビルド(中間ファイル削除)
docker build –no-cache –rm -t [author]/[name] .

「Docker Memo」への1件のフィードバック

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です