Category Archives: VPS・Cloud

Supervisorをちょこっとさわっておく

相変わらずDockerの日々で、最近はWordpressのコンテナ作り。 参考サイトがないとなかなか難しいですが、ある程度は出来てきました。しかし、そのなかで使われているSupervisorというものをあんまり知らないので、ちょこっと触っとこうと思います。 Dockerもkvmもだけど、仮想化は小さい基礎の積み重ねが大事だなと、色々調べていると感じます。LPIC3-4がまるっと仮想化ってのはなかなか粋ですな。 SupervisorはMonitと同じくプロセス監視の役割をするもののようです。 たけけんもスクリプトでLoadaverageとhttpdの監視するCronを動かしてますが、こやつらはそれそのものを監視しているので、GUIを使えばhttpdを止めたりもできるようになってます。 Dockerではこういったものを併用するのは基本のようですね。 supervisorのインストールのだけども epelのリポジトリを用意をして、yumでsupervisorをインストールする方法 Pythonのeasy_installを使う方法 の2通りがあるのだが、どちらもちょこっと触ったところ、easy_installを使った方法の方がやりやすい感じがしたので、easy_installを使ってsupervisorを使う方にします。 ちなみにyumの場合のバージョンは2.1系です。ちょっち古い?? [root@testserver]# yum –enablerepo=epel install supervisor ====================================================================================================  Package                    Arch                 Version                   Repository          Size ==================================================================================================== Installing:  supervisor                 noarch               2.1-8.el6                 epel               292 k Installing for dependencies:  python-meld3               x86_64               0.6.7-1.el6               epel                71 k   では進めていきます。インストールはこんな風にします。 # easy_install supervisor Installed /usr/lib/python2.6/site-packages/supervisor-3.0-py2.6.egg Processing dependencies for supervisor Finished processing dependencies for supervisor echo_supervisord_conf コマンドで初期設定が出力されるようなので、/etc/supervisord.conf にリダイレクトします。 # echo_supervisord_conf > /etc/supervisord.conf 一応、yumでインストールした場合のconf # grep -v “^;” /etc/supervisord.conf | grep -v “^$”                [/root] [supervisord] http_port=/var/tmp/supervisor.sock ; (default is to run a UNIX domain socket server) logfile=/var/log/supervisor/supervisord.log ; (main log file;default $CWD/supervisord.log) logfile_maxbytes=50MB       ; (max main logfile bytes b4 rotation;default 50MB) logfile_backups=10          ; (num of main logfile rotation backups;default 10) loglevel=info               […]

docker いじってたコンテナをイメージ化してまた使うにゃ

タイトルの通りだけど、最初はうまくいかなかったのでメモ書き 順番がよくなかったみたいでしたのでした。 今このコンテナが走ってるとして。 core@localhost ~ $ docker ps CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS                                                                NAMES 12aed3c97713        centos:lamp         /usr/bin/monit -I   2 minutes ago       Up 2 minutes        0.0.0.0:80->80/tcp, 0.0.0.0:10022->22/tcp, 0.0.0.0:12812->2812/tcp   cocky_mcclintock 走ってる状態でcommitする。ユーザー名/名称とするのが作法とのこと。 core@localhost ~ $ docker commit -m “first” 12aed3c97713 takeken/lamp 4044e6fc6dab67a424e43d86d5c2f0b918df14849115d67236378ab3ca4de5fb imagesを見ると増えてます。 core@localhost ~ $ docker images REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE takeken/lamp           latest              4044e6fc6dab        13 seconds ago      786.8 MB centos              lamp                b269921355b3        15 hours ago        781.4 MB イメージ化されたので、いまのコンテナを止めます。今日の日はさようなら、また逢う日まで。 core@localhost ~ $ docker kill 12aed3c97713 12aed3c97713 ここで問題が勃発した。どうもkillしたらmonitのPIDが残るらしい。 stop >  startでもコンテナの中止、再開はできるけども今回の趣旨とはちょっと離れる。 core@localhost ~ $ sudo docker logs d4f3eb389887 monit daemon with PID 1 awakened 動いてくれない・・・。 今回のテーマはイメージ化なので、いったんmonitをリスタートするコンテナを作ってそのコンテナをイメージ化してみるテスト。 core@localhost ~ $ sudo docker run -d -t -p 12812:2812 -p 80:80 -p […]

Docker Hub Registryを使ってみる

ほんとはDocker Hub Registryを使ってドカドカしてみるという回にしようと思ったんだけど、ドカドカというほど全然ドカドカしてないので、使ってみるというタイトルにしました。 公式サイト Docker Hub Registry https://registry.hub.docker.com/ とりあえずWordpressでも入れてみようと思います。 core@localhost ~ $ sudo docker pull wordpress Pulling repository wordpress 59bc5d6f4527: Download complete 511136ea3c5a: Download complete 1e8abad02296: Download complete f106b5d7508a: Download complete 13c1896b5563: Download complete 60f62ed4f337: Download complete 92c982394c2e: Download complete f615b62e918c: Download complete 6e127ef330e7: Download complete 9ea7948ff51c: Download complete ef39710cd47b: Download complete 947395580dcc: Download complete 98d143d5e329: Download complete 626096bb06b1: Download complete e3bd56f5c6a3: Download complete 3c694ca0b228: Download complete ea3b57cd4762: Download complete 4b81b0d579ca: Download complete e1da781fdc94: Download complete deb488c65438: Download complete 2ad12c840ca8: Download complete 63e651018606: Download complete f478cdd1f04f: Download complete core@localhost ~ $ docker images REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE centos              lamp                c99abf40b3ce        18 hours ago        781.3 MB centos              latest              1a7dc42f78ba        […]

グローバルIPがついたサーバーでDockerを動かすとして

ここ最近Dockerの話題ばかりであれですが、Dockerfileを作ったりはまだです。今まですべてローカルで試していたので、ここらへんで外のサーバーに設置してみようかと。 外のサーバーって何?って簡単に説明すると、グローバルIPがついてて インターネット環境があれば、世界中のどこでも誰でもアクセスできるサーバーです。 Dockerのセキュリティって? 外部につながったものを触るならセキュリティは一番気をつけたいところ。 おなじKernel3系のCentOS7とかの場合、新しいfirewalldというものが動いてますが # systemctl status firewalld firewalld.service – firewalld – dynamic firewall daemon    Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled)    Active: active (running) since 水 2014-07-16 17:50:22 JST; 3h 50min ago   Process: 3513 ExecReload=/bin/kill -HUP $MAINPID (code=exited, status=0/SUCCESS)  Main PID: 3123 (firewalld)    CGroup: /system.slice/firewalld.service            └─3123 /usr/bin/python -Es /usr/sbin/firewalld –nofork –nopid  7月 16 17:50:22 dockerkencho systemd[1]: Started firewalld – dynamic firewall daemon.  7月 16 17:50:43 dockerkencho systemd[1]: Reloading firewalld – dynamic firewall daemon.  7月 16 17:50:43 dockerkencho systemd[1]: Reloaded firewalld – dynamic firewall daemon. 設定方法とかは割愛するけど、coreosにはこいつがありません。 # systemctl status firewalld ● firewalld.service    Loaded: not-found (Reason: No such file or directory)    Active: inactive (dead) でも […]

ついでにCoreOSでもDockerを試してみよう

前回と前々回で、@ITのいまさら聞けないDocker入門1~2を参考にしつつ、CentOS7+Docker を触ってみました。ついでにCoreOSも触ってみて、入門3の内容はCoreOSで試してみようと思います。 CoreOSって? CoreOSはKernelイメージとSystemdだけで、Docker用に作成されたものらしい。 OSに不要な機能があるよりも、ボクサーみたいな必要なものだけ積んでた方がいいかなってイメージかしら?? CoreOSを用意する まずはISOイメージを持ってきて、いつも通りVMwareで立ち上げよう。 CDブートのようにLinuxが立ち上がり、AutoLoginされます。 ユーザ名Coreのパスワードを設定するだけでSSH接続できるので、設定しちゃいましょう $ sudo passwd core これさえやればSSHで繋ぐ。 login as: core core@192.168.24.72’s password: Last login: Sat Jul 12 16:56:27 2014 CoreOS (beta) Update Strategy: No Reboots core@localhost ~ $ 今の状態はUbuntuやPuppyLinuxのように、まだOSがインストールされていないので、手動でインストールが必要な訳だが、VMwareにインストールするなら以下の手順になるようだ。 ・イメージ起動 ・AutoLogin ・Coreにパスワードを付ける ・SSHログイン ・cloud-config作成 ・インストール ・リブート ・完 だいたいの参考サイトが鍵認証にしているんだけど、ローカルで試すだけだし、公式サイトにパスワード認証でのやり方が載ってたので、パスワード認証で作ります。 まずはハッシュ化されたパスワードを作成。 [root@dockerkencho ~]# openssl passwd -1 Password: Verifying – Password: $1$CoSFIqnH$z.s5CC2BqUhnKuJl6dNC8/ cloudconfigを作りましょう。 bash-4.2# cat config #cloud-config users:  –  name: core     passwd: $1$CoSFIqnH$z.s5CC2BqUhnKuJl6dNC8/ ではインストールします。 bash-4.2# coreos-install -d /dev/sda -C alpha -c config Downloading and verifying coreos_production_image.bin.bz2… –2014-07-12 08:52:44–  http://alpha.release.core-os.net/amd64-usr/353.0.0/coreos_production_image.bin.bz2 Resolving alpha.release.core-os.net… 173.194.72.128 Connecting to alpha.release.core-os.net|173.194.72.128|:80… connected. HTTP request sent, awaiting response… 200 OK Length: 175405804 (167M) [application/octet-stream] Saving to: `/tmp/coreos-install.tZNZ3WWm8i/coreos_production_image.bin.bz2′ 100%[==========================================================>] 175,405,804 9.87M/s   in 23s […]

CentOS7でDockerを試してみた その弐

前回までのあらすじ の前にちょっと補足を、今までDockerと書いていたものだが、今ではDocker Engineと呼ばれるものになり、プラットフォーム全体をDockerということになったらしい。 という事で、今はDocker Engileのインストールが終わったところだ! あらすじ終わり。   引き続き今回も@ITのいまさら聞けないDocker入門に沿っていきます。 KVMを試していた時のことを思い出すと、まずはQEMUを使ってVMを作り、普通にOSをインストールするというイメージだったが、今回はコンテナーを用意することになる。 Docker Hubというものを使えば、開発環境でDockerイメージ作成して、作成したイメージを共有、デプロイできると。 KVMの場合は、完全仮想化でヴァーチャルに土地を耕してあたかもそこにサーバーというビルを構築したように、その仮想サーバーにOSをインストールする仕組みだった。 Dokcerはイメージを使う。 以前、OpenStackをやったときにqcow2イメージを使って出来上がったOSを用意したけど、そっちの方に近い? なんて、実際に試す前はこんな風に思っていたのだ。   ベースイメージはDocker Hub Registryというところにたくさんあるらしい。 しかも初期設定でDocker Hub Registryにアクセスするようになっているらしいから、たとえば社内で使うのだったりすると設定変更が必要なわけかしら。 参考サイトの通りUbuntuの最終版をとってみようか。 [root@dockerkencho ~]# docker pull ubuntu:latest Pulling repository ubuntu e54ca5efa2e9: Download complete 511136ea3c5a: Download complete d7ac5e4f1812: Download complete 2f4b4d6a4a06: Download complete 83ff768040a0: Download complete 6c37f792ddac: Download complete お~、できた?のか? ちょっと把握できないので、説明文を参考サイトから引用するぞ。 @IT「ダウンロードしたDockerイメージは、レジストリのイメージと区別するために「ローカルキャッシュ」と呼ぶこともあります。このローカルキャッシュからDockerコンテナーを実行します。」 という事らしい、しっかり読まないと訳分からんことになりそうだ。 [root@dockerkencho ~]# docker images REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE ubuntu              latest              e54ca5efa2e9        3 weeks ago         276.1 MB   ・・・うーん、後に続く説明を読んだんだけど、ぶっとんでいて頭が追いついてない。 とにかくやってみるよ。 ・DockerイメージからDockerコンテナーを作成、実行。 ・ubuntuイメージからubuntu1コンテナーを作成、端末を開きbashを実行 [root@dockerkencho ~]# docker run -it –name ubuntu1 ubuntu /bin/bash root@14641c250fd3:/# root@14641c250fd3:/# ifconfig eth0      Link encap:Ethernet  HWaddr b6:69:f5:81:ca:d5           inet addr:172.17.0.2  Bcast:0.0.0.0  Mask:255.255.0.0           inet6 addr: fe80::b469:f5ff:fe81:cad5/64 Scope:Link           UP BROADCAST RUNNING  MTU:1500  Metric:1 […]

CentOS7でDockerを試してみた

ちょうどいいタイミングでCentOS7がリリースされたので、Dockerのお試し作業はCentOS7でやろうと思います。 まずはISOの用意ですが、こちとらはIIJからダウンロードしました。 http://ftp.iij.ad.jp/pub/linux/centos/7/isos/x86_64/ 最初の画面が、なんだかドラクエ3みたいな感じなのだが、文字が薄くてじっくり見ないと何を選択しているのかよく分からないのだが・・。 頑張ってInstall CentOS 7を選択してみた。 今回はとくに何も見ないでインストールしてみる。あえてね。 しばらく待っていると、ポップな感じの1枚絵で項目の一覧が出た! おお、分かりやすいじゃないか。 インストールに必要な作業が一覧になっているので、そこから選択して進めていくようだ。 いままでのは出てくる順番にやってた作業だが、直感的に操作できるようになっているようだ   何も見ないでインストールしてみる。あえてね。 なんてえらそうに言ってみたものの、別にみる必要はそもそもなかったようだし、CentOS6とやる事は同じなのでたいしたことはない。 そういえばFreeBSDが文字だけだけど、一覧が出るようなだったような?? ん~、あれは最後に一覧が出たんだっけ。 忘れちまった。 てな感じで、インストールしながらこの文章を書きながら進めていると、ようやくインストールが終わったようだ。 [root@dockerkencho ~]# uname -nr dockerkencho 3.10.0-123.el7.x86_64   まずはyum updateをやってから、いろいろ見てみるか。 Kernel3系になった事と、今回からデフォルトのファイルシステムが ext4からxfsになったようだ。 なんだか気持ちだけど、動作が速い気がしないでもない。 最小構成でインストールしたんだけど、ifconfigがなかった。 [root@dockerkencho ~]# yum search ifconfig 読み込んだプラグイン:fastestmirror Loading mirror speeds from cached hostfile  * base: www.ftp.ne.jp  * extras: www.ftp.ne.jp  * updates: www.ftp.ne.jp ========================================== 一致: ifconfig ========================================== net-tools.x86_64 : Basic networking tools おお、なかなかいい感じだけど、yum searchってこんなだっけ??? まぁいいか。じゃあ、ついでにDockerも。 [root@dockerkencho ~]# yum search docker 読み込んだプラグイン:fastestmirror Loading mirror speeds from cached hostfile  * base: www.ftp.ne.jp  * extras: www.ftp.ne.jp  * updates: www.ftp.ne.jp ======================================= N/S matched: docker ======================================== docker-registry.noarch : Registry server for Docker docker.x86_64 : Automates deployment of containerized applications   Name and summary matches only, […]