Dockerのインストール
オープンソースカンファレンスとかいうのがありまして…
10/18-19にあった大手のイベントで
知っていることがあったり、なかったり関心することがあったりなかったりした
規模の問題もあったので自宅から結構遠かったけどそれなりに楽しめました。
元々挙動不審な感じがする私としてももっと楽しみたかったのですが2日続ける体力がなかったのであきらめました。
環境
VMPlayerのCentOS
[root@localhost ~]# cat /etc/redhat-release CentOS release 6.5 (Final) [root@localhost ~]# [root@localhost ~]# uname Linux [root@localhost ~]# uname -r 2.6.32-431.29.2.el6.x86_64 [root@localhost ~]#
※前回の失敗したopenstackの環境を流用
リポジトリをインストール
yum install -y wget wget -P /etc/yum.repos.d http://www.hop5.in/yum/el6/hop5.repo yum install xz docker-io -y --enablerepo=epel
※リポジトリを指定
起動
service docker start chkconfig docker on
制御
dockerの新しい仮想環境を作る
docker run centos /bin/echo "Hello World"
↓
' locally Pulling repository centos 87e5b6b3ccc1: Download complete 511136ea3c5a: Download complete 5b12ef8fd570: Download complete Hello World #
※しばらくしてから起動する
※ホストよりcentos用のイメージを取得しているよう
dockerのプロセス一覧を確認
# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES #
※dockerは一度終了したら破棄する
bashでdockerの端末に入る
docker run -i -t centos /bin/bash
※抜ける場合は、「Ctrl+p, Ctrl+q 」を続けて入力
↓
# docker run -i -t centos /bin/bash bash-4.2# echo "111" 111 bash-4.2# touch aaa.txt bash-4.2# pwd / bash-4.2# ls -la total 8768 drwxr-xr-x 18 root root 4096 Oct 19 10:28 . drwxr-xr-x 18 root root 4096 Oct 19 10:28 .. -rwxr-xr-x 1 root root 0 Oct 19 10:28 .dockerenv -rwx------ 1 root root 8915444 Oct 19 10:18 .dockerinit -rw-r--r-- 1 root root 0 Oct 19 10:28 aaa.txt lrwxrwxrwx 1 root root 7 Sep 26 12:28 bin -> usr/bin drwxr-xr-x 4 root root 360 Oct 19 10:28 dev drwxr-xr-x 46 root root 4096 Oct 19 10:28 etc drwxr-xr-x 2 root root 4096 Jun 10 01:11 home lrwxrwxrwx 1 root root 7 Sep 26 12:28 lib -> usr/lib lrwxrwxrwx 1 root root 9 Sep 26 12:28 lib64 -> usr/lib64 drwx------ 2 root root 4096 Sep 26 12:27 lost+found drwxr-xr-x 2 root root 4096 Jun 10 01:11 media drwxr-xr-x 2 root root 4096 Jun 10 01:11 mnt drwxr-xr-x 2 root root 4096 Jun 10 01:11 opt dr-xr-xr-x 108 root root 0 Oct 19 10:28 proc dr-xr-x--- 2 root root 4096 Jun 10 01:11 root drwxr-xr-x 6 root root 4096 Sep 26 12:30 run lrwxrwxrwx 1 root root 8 Sep 26 12:28 sbin -> usr/sbin drwxr-xr-x 3 root root 4096 Sep 26 12:30 selinux drwxr-xr-x 2 root root 4096 Jun 10 01:11 srv drwxr-xr-x 13 root root 0 Oct 19 09:31 sys drwxrwxrwt 2 root root 4096 Sep 26 12:30 tmp drwxr-xr-x 13 root root 4096 Sep 26 12:28 usr drwxr-xr-x 18 root root 4096 Sep 26 12:29 var bash-4.2# # #
↓
# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 9dcb82062e2d centos:latest /bin/bash About a minute ago Up About a minute elegant_wozniak #
※終了していないので実行中のプロセスを確認できる
再接続する場合は「docker attach」
# docker attach 9dcb82062e2d bash-4.2# bash-4.2# ls aaa.txt aaa.txt bash-4.2# exit exit # # docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES #
※exitした場合は破棄される
気になること
yumは使えるけど、serviceとかは使えない
# docker run -i -p 8080:80 -t centos /bin/bash bash-4.2# service bash: service: command not found bash-4.2# bash-4.2# exit #
※イメージの問題か起動方法の問題かもしれないけど…
所感
ipなどの転送でdockerの方を参照できればwebアプリのデプロイなどが簡略化されるのかな?
なんかまだ、イメージがわかない。
※まだあんまり知らないけどそんなに難しくはなさそう
参考
Docker のコンテナに外部からアクセスする | CUBE SUGAR STORAGE
※service動かなかったんですけど…