久しぶりに更新

一年ぶりのリハビリ投稿
ほぼメンテナンスフリー()状態の鯖だけども一応機能してます..

久しぶりなので溜まったアプデートと掃除を実施。
ファンレスだからホコリ溜まらないのがいいですね。

初めてディストリのアップデートをやったのでメモメモ。
公式の手順書があるので参照しながら実施します(Wheezy から jessieへのアップグレード)

第4章 Debian 7 (wheezy) からのアップグレード

スクリーンショット撮ってないのでやった手順だけ
sources.listを更新する前に今のバージョンで最新の状態にしておく必要があるようです
0. バックアップをとる
1. aptitude update と aptitude upgrade と aptitude dist-upgrade で最新の状態にする
(いままでdist-upgradeだけでディストリのアップグレードが出来ると信じてた…)
2. aptitudeのgオプションを実行して提案されたアクションを全て実行する
(4.2.1. パッケージマネージャにおいて中断しているアクションの確認)
3. dpkg -l | pager コマンドでパッケージの状態を調べて、エラー状態にあるパッケージの問題を解決する
(4.2.3. パッケージの状態をチェックする)
4. /etc/apt/sources.listを編集する

# 
#deb cdrom:[Debian GNU/Linux 7.2.0 _Wheezy_ - Official amd64 DVD Binary-1 20131012-14:05]/ wheezy contrib main
#deb cdrom:[Debian GNU/Linux 7.2.0 _Wheezy_ - Official amd64 DVD Binary-1 20131012-14:05]/ wheezy contrib main

#deb http://ftp.jp.debian.org/debian/ wheezy main
#deb-src http://ftp.jp.debian.org/debian/ wheezy main
deb http://ftp.jp.debian.org/debian/ jessie main contrib non-free
deb-src http://ftp.jp.debian.org/debian/ jessie main contrib non-free

#deb http://security.debian.org/ wheezy/updates main contrib
#deb-src http://security.debian.org/ wheezy/updates main contrib
deb http://security.debian.org/ jessie/updates main contrib non-free
deb-src http://security.debian.org/ jessie/updates main contrib non-free

deb http://ftp.jp.debian.org/debian jessie-backports main contrib non-free
deb-src http://ftp.jp.debian.org/debian/ jessie-backports main contrib non-free

# wheezy-updates, previously known as 'volatile'
#deb http://ftp.jp.debian.org/debian/ wheezy-updates main contrib
#deb-src http://ftp.jp.debian.org/debian/ wheezy-updates main contrib

# jessie-updates, previously known as 'volatile'
deb http://ftp.jp.debian.org/debian/ jessie-updates main contrib non-free
deb-src http://ftp.jp.debian.org/debian/ jessie-updates main contrib non-free

こんな感じに修正。
5. 再び aptitude updateとaptitude upgrade を実施。6時間くらいかかった印象。

今のところ特に問題なし。
あと現状のバックアップcronをメモって無かったのでメモ。
毎朝5時にDropboxへデータベースのダンプとwwwをバックアップしています。

00 05 * * * /usr/local/bin/dropbox.py start >> /var/www/dropbox_log.txt 2>&1
05 05 * * * mysqldump -u XXXX -XXXXXXXX -x -f wordpress > /var/www/wordpress.dmp
10 05 * * * rsync -arv --delete /var/www/ /root/Dropbox/Helloidea.org
30 05 * * * /usr/local/bin/dropbox.py stop  >> /var/www/dropbox_log.txt 2>&1

流行ってるらしい Ichigojam で遊んでみた

2015-05-01 15.06.43

2015-05-01 16.14.41

2015-05-01 18.44.58

2015-05-01 18.44.23



BASICで遊べるという触れ込みで買ってきた Ichigojam 。
BASICでプログラムを書いてコンパイルして焼いて動かすという物ではなく、Ichigojam のファーム上にBASICのインタプリンタが乗ってるという物でした。
最初からマイコンにファームが書いてあって、用意してある基板にハンダ付けすれば完成です。ファームの更新にはISPで別途焼く必要あり。
プログラミング&ハンダ付け教室的な場所で活躍してる様です。

BASICで書いたプログラムを保存して実行できる機能があるので、焼く環境を用意しなくても良い所が面白いですね。
FLASHのサイズ上、0〜2の3つほどしか保存用領域を確保出来ないようですが、外付けFLASHで頑張ろうとする人も居ます(目撃)。

■公式

http://ichigojam.net/

■BASICリファレンス 0.9.7

http://ichigojam.net/IchigoJam.html

■スペック

CPU    LPC1114 Cortex-M0 48MHz
RAM    4KB
FLASH  32KB (Ichigojamファーム + BASIC保存領域)
出力   NTSCコンポジット,LED,Sound,GPIOx6
入力   PS/2キーボード,GPIOx4
電源   microUSB

■LPC1114 -秋月-

http://akizukidenshi.com/catalog/g/gI-06071/
マイコンだけ安く買って Ichigojam のファームだけ焼く手あり。

■mbed

https://developer.mbed.org/users/ytsuboi/notebook/getting-started-with-mbed-lpc1114-ja/
今の回路構成を踏襲してmbedで遊ぶ選択肢もあり。

■NTSCビデオ出力

個人的に一番気になった部分をHMで見ると
GPIOとSPIは無いとして、タイマーで制御してる予感。
ビデオ出力用モジュールが無くても映像が出せることに驚き

VIDEO1 -> CT16B0_MAT0 — Match output 0 for 16-bit timer 0.
VIDEO2 -> CT16B0_MAT1 — Match output 1 for 16-bit timer 0.

■外付けEEPROM

http://akizukidenshi.com/catalog/g/gI-03570/
http://fukuno.jig.jp/915

SAVE/LOAD/LRUNコマンドの100から226がEEPROMに対応しています。(ver 0.9.3以降 – IchigoJam-FANにて公開中)

5 ->SDA
6 ->SCK0
7 ->VDDA
8 ->VSSA
27->SCL

Twenty Fifteen テーマ用 カスタムCSS

以前のテーマは気に入ってたけど更新もなく古くなってきていたので、サイトリニューアル。
テーマ:Twenty Fifteen

気に入らない所が多いのでCSS改造
現状のカスタムCSS設定メモ

/*
カスタム CSS へようこそ!
 
CSS (カスケーディングスタイルシート)
は、ブラウザに対し Web
ページの表示方法を指定するためのコードです。このコメントを削除し、カスタマイズを始めることができます。
 
デフォルトでは、ここで指定したカスタムスタイルはテーマのスタイルシートが読み込まれた後に追加されます。つまり、デフォルトの
CSS
ルールを上書きできるということです。テーマのスタイルシートの内容をここにコピーする必要はありません。追加したい内容だけを書き込んでください。
*/
/********************************************************************************/
/* structure X:色の変更機能 O:左端背景表示                                        */
/********************************************************************************/
body:before {
	background-color: initial;
	box-shadow: initial;
	content: initial;
	display: initial;
	height: initial;
	min-height: initial;
	position: initial;
	top: initial;
	left: initial;
	width: initial;
	z-index: initial;
}

.sidebar {
	background-color: #FFFFFF;
}

.site-main {
	background-color: #F2F2F2;
}

/********************************************************************************/
/* font                                                                         */
/********************************************************************************/
.site-title {
	font-size: 23px;
}

body,button,input,select,textarea {
	font-family: 'Lucida Grande', 'Hiragino Kaku Gothic ProN', Meiryo, sans-serif;
}

.entry-title,.widecolumn h2 {
	font-family: 'Lucida Grande', 'Hiragino Kaku Gothic ProN', Meiryo, sans-serif;
}

.page-title {
	font-family: 'Lucida Grande', 'Hiragino Kaku Gothic ProN', Meiryo, sans-serif;
	font-size: 18px;
}

.entry-content {
	font-size: 13px;
	font-family: 'Lucida Grande', 'Hiragino Kaku Gothic ProN', Meiryo, sans-serif;
}

.entry-title {
	font-size: 18px;
}

.author-title {
	font-size: 12px;
}

.author-bio {
	font-size: 12px;
}

.post-navigation .post-title {
	font-size: 16px;
}

.comments-title,
.comment-reply-title,
.post-navigation .post-title {
	font-size: 16px;
}

.comment-reply-title {
	font-family: 'Lucida Grande', 'Hiragino Kaku Gothic ProN', Meiryo, sans-serif;
	font-size: 14px;
}

.entry-content h1,.entry-summary h1,.page-content h1,.comment-content h1 {
	font-size: 18px;
	font-size: 1.8rem;
	line-height: 1.2;
	margin-top: .4em;
	margin-bottom: .3em;
}

.widget {
	font-family: 'Lucida Grande', 'Hiragino Kaku Gothic ProN', Meiryo, sans-serif;
	font-size: 13px;
}

blockquote {
	font-size: 13px;
	font-size: 1.3rem;
	line-height: 1.75;
	margin-bottom: .5em;
	margin-left: .05em;
	padding-left: .85em;
}

/********************************************************************************/
/* margin & padding                                                             */
/********************************************************************************/
.site-main {
	padding: 0;
}

.site-header {
	margin-bottom: 2%;
	margin-top: 2%;
	padding: 5% 10%;
}

.entry-header {
	padding: 0 2%;
}

.hentry {
	padding-top: 2%;
}

.hentry,
.page-header,
.page-content {
	margin: 0 1%;
}

.entry-content,
.entry-summary {
	padding: 1% 2%;
}

.entry-footer {
	padding: 0 2%;
}

.hentry+.hentry,
.page-header+.hentry,
.page-header+.page-content {
	margin-top: 2%;
}

.widget {
	margin: 2%;
	padding: 0 10%;
}

.post-thumbnail {
	margin-bottom: 2%;
}

.comments-area {
	margin: 2% 2% 0;
	padding: 2%;
}

.author-info {
	margin: 0 2%;
	padding: 2% 0;
}

.author-heading {
	margin-bottom: 0;
}

.post-navigation {
	margin: 2% 2% 0;
}

.post-navigation a {
	padding: 2%;
}

.comment-list article,
.comment-list .pingback,
.comment-list .trackback {
	padding: 1% 0;
}

.pagination {
	margin: 1% 1% 0;
}

.site-footer {
	visibility: hidden;
}

Dockerの基本的な使い方メモ

連休になったので気になってたdocker弄り。
公式チュートリアルを追うので、入門的な何かです。

前提知識

◆wiki
http://ja.wikipedia.org/wiki/Docker

◆公式
https://www.docker.com/

◆公式 – document
https://docs.docker.com/
対応OSやサンプルの実装が書いてあります
今のところ正式対応してるOS↓ 2015-04-27

Ubuntu
Mac OS X
Microsoft Windows
Amazon EC2
Arch Linux
Binaries
CentOS
CRUX Linux
Debian
Fedora
FrugalWare
Google Cloud Platform
Gentoo
IBM Softlayer
Joyent Compute Service
Microsoft Azure
Rackspace Cloud
Red Hat Enterprise Linux
Oracle Linux
SUSE
Docker Compose

◆公式 – document – Windows Boot2Docker
https://docs.docker.com/installation/windows/
https://github.com/boot2docker/boot2docker
Windowsにも対応してるようですね。
しかしネイティブ実装ではなくVirtualBox上で軽量Linuxを動かすタイプ!…linuxに依存しすぎ
dockerの構成上、sandboxie的な気軽な使い方は困難な模様
あくまでサーバーサイド用で、GUIが絡んでくる物は動かせない。
Xをコンテナ上でって思ったけど画面の出力先が無さそう。Xの転送があるって?
とりあえずGUIが絡む仮想化技術とは競合しなさそうですね。

◆Docker Hub Registry
https://registry.hub.docker.com/
github的なDockerのイメージを置くサービス。
dockerのコマンドが、直接 Docker Hub Registry からデータを読み込んでる辺り、根幹的なエコシステムの一部みたいですね

手始めに以下のコマンドでインストールと確認

$ sudo apt-get install docker.io
以下の追加パッケージがインストールされます:
aufs-tools cgroupfs-mount git git-man liberror-perl
提案パッケージ:
btrfs-tools debootstrap lxc rinse git-daemon-run git-daemon-sysvinit git-doc
git-el git-email git-gui gitk gitweb git-arch git-cvs git-mediawiki git-svn
以下のパッケージが新たにインストールされます:
aufs-tools cgroupfs-mount docker.io git git-man liberror-perl
アップグレード: 0 個、新規インストール: 6 個、削除: 0 個、保留: 0 個。
7,843 kB のアーカイブを取得する必要があります。
この操作後に追加で 44.3 MB のディスク容量が消費されます。
$ dpkg -L docker.io
/.
/usr
/usr/bin
/usr/bin/docker
/usr/share
/usr/share/docker.io
/usr/share/docker.io/contrib
/usr/share/docker.io/contrib/mkimage-rinse.sh
/usr/share/docker.io/contrib/mkimage-busybox.sh
/usr/share/docker.io/contrib/mkimage-yum.sh
/usr/share/docker.io/contrib/mkimage-unittest.sh
/usr/share/docker.io/contrib/mkimage-crux.sh
/usr/share/docker.io/contrib/mkimage-arch-pacman.conf
/usr/share/docker.io/contrib/desktop-integration
/usr/share/docker.io/contrib/desktop-integration/chromium
/usr/share/docker.io/contrib/desktop-integration/chromium/Dockerfile
/usr/share/docker.io/contrib/desktop-integration/README.md
/usr/share/docker.io/contrib/desktop-integration/gparted
/usr/share/docker.io/contrib/desktop-integration/gparted/Dockerfile
/usr/share/docker.io/contrib/mkimage-alpine.sh
/usr/share/docker.io/contrib/mkimage-arch.sh
/usr/share/docker.io/contrib/mkimage-debootstrap.sh
/usr/share/docker.io/contrib/nuke-graph-directory.sh
/usr/share/docker.io/contrib/mkseccomp.sample
/usr/share/docker.io/contrib/mkseccomp.pl
/usr/share/docker.io/contrib/mkimage
/usr/share/docker.io/contrib/mkimage/busybox-static
/usr/share/docker.io/contrib/mkimage/.febootstrap-minimize
/usr/share/docker.io/contrib/mkimage/rinse
/usr/share/docker.io/contrib/mkimage/mageia-urpmi
/usr/share/docker.io/contrib/mkimage/debootstrap
/usr/share/docker.io/contrib/mkimage.sh
/usr/share/docker.io/contrib/host-integration
/usr/share/docker.io/contrib/host-integration/manager.sh
/usr/share/docker.io/contrib/host-integration/Dockerfile.min
/usr/share/docker.io/contrib/host-integration/manager.go
/usr/share/docker.io/contrib/host-integration/manager
/usr/share/docker.io/contrib/host-integration/manager/systemd
/usr/share/docker.io/contrib/host-integration/manager/upstart
/usr/share/docker.io/contrib/host-integration/Dockerfile.dev
/usr/share/lintian
/usr/share/lintian/overrides
/usr/share/lintian/overrides/docker.io
/usr/share/zsh
/usr/share/zsh/vendor-completions
/usr/share/zsh/vendor-completions/_docker
/usr/share/doc
/usr/share/doc/docker.io
/usr/share/doc/docker.io/copyright
/usr/share/doc/docker.io/README.Debian
/usr/share/doc/docker.io/README.md.gz
/usr/share/doc/docker.io/changelog.Debian.gz
/usr/share/man
/usr/share/man/man1
/usr/share/man/man1/docker-stop.1.gz
/usr/share/man/man1/docker-diff.1.gz
/usr/share/man/man1/docker-restart.1.gz
/usr/share/man/man1/docker-pull.1.gz
/usr/share/man/man1/docker-rm.1.gz
/usr/share/man/man1/docker-tag.1.gz
/usr/share/man/man1/docker-info.1.gz
/usr/share/man/man1/docker-unpause.1.gz
/usr/share/man/man1/docker-history.1.gz
/usr/share/man/man1/docker-ps.1.gz
/usr/share/man/man1/docker-images.1.gz
/usr/share/man/man1/docker-save.1.gz
/usr/share/man/man1/docker-build.1.gz
/usr/share/man/man1/docker-attach.1.gz
/usr/share/man/man1/docker-load.1.gz
/usr/share/man/man1/docker-rmi.1.gz
/usr/share/man/man1/docker.1.gz
/usr/share/man/man1/docker-pause.1.gz
/usr/share/man/man1/docker-logout.1.gz
/usr/share/man/man1/docker-create.1.gz
/usr/share/man/man1/docker-kill.1.gz
/usr/share/man/man1/docker-rename.1.gz
/usr/share/man/man1/docker-logs.1.gz
/usr/share/man/man1/docker-events.1.gz
/usr/share/man/man1/docker-top.1.gz
/usr/share/man/man1/docker-start.1.gz
/usr/share/man/man1/docker-login.1.gz
/usr/share/man/man1/docker-cp.1.gz
/usr/share/man/man1/docker-export.1.gz
/usr/share/man/man1/docker-run.1.gz
/usr/share/man/man1/docker-push.1.gz
/usr/share/man/man1/docker-import.1.gz
/usr/share/man/man1/docker-inspect.1.gz
/usr/share/man/man1/docker-commit.1.gz
/usr/share/man/man1/docker-wait.1.gz
/usr/share/man/man1/docker-exec.1.gz
/usr/share/man/man1/docker-stats.1.gz
/usr/share/man/man1/docker-version.1.gz
/usr/share/man/man1/docker-port.1.gz
/usr/share/man/man1/docker-search.1.gz
/usr/share/man/man5
/usr/share/man/man5/Dockerfile.5.gz
/usr/lib
/usr/lib/docker.io
/usr/lib/docker.io/dockerinit
/lib
/lib/systemd
/lib/systemd/system
/lib/systemd/system/docker.service
/lib/systemd/system/docker.socket
/lib/udev
/lib/udev/rules.d
/lib/udev/rules.d/80-docker.io.rules
/etc
/etc/default
/etc/default/docker
/etc/init.d
/etc/init.d/docker
/etc/bash_completion.d
/etc/bash_completion.d/docker
/etc/init
/etc/init/docker.conf

コマンド一覧を確認

勝手に翻訳。
チュートリアルで利用するコマンドにハイライト。

attach    実行中のコンテナに接続
build     Dockerfileからイメージを構築
commit    コンテナの変化から新しいイメージを作成
cp        ホストパスにコンテナのファイルシステムからファイル/フォルダをコピー
create    新しいコンテナを作成
diff      コンテナのファイルシステム上の変更を点検
events    サーバからのリアルタイムイベントを取得
exec      実行中のコンテナ内のコマンドを実行
export    tarアーカイブとしてコンテナの内容をストリーミング
history   イメージの履歴を表示
images    イメージの一覧表示
import    tarボールの内容から新しいファイルシステムイメージを作成
info      システム全体情報の表示
inspect   コンテナまたはイメージの低レベルの情報を返す
kill      実行中のコンテナを停止させる
load      tarアーカイブからイメージをロード
login     Docker registry server サーバにログイン
logout    Docker registry server からログアウト
logs      コンテナのログをフェッチ
port      ホストのポートとコンテナのポート紐付ける
pause     コンテナ内のすべてのプロセスを一時停止
ps        コンテナの一覧表示
pull      Docker registry server からイメージまたはリポジトリをプール
push      Docker registry server にイメージやリポジトリを プッシュ
rename    既存のコンテナの名前を変更
restart   実行中のコンテナを再起動
rm        1つまたは複数のコンテナを削除する
rmi       1つまたは複数のイメージを削除する
run       新しいコンテナでコマンドを実行する
save      tarアーカイブにイメージを保存する
search    Docker Hub上のイメージを検索
start     停止したコンテナを再開
stats     1以上のコンテナ'リソースの使用状況統計のライブストリームを表示
stop      実行中のコンテナを停止
tag       リポジトリのイメージにタグをつける
top       コンテナの実行中のプロセスを検索
unpause   一時停止したコンテナの一時停止を解除
version   Dockerのバージョン情報を表示
wait      コンテナが停止するまで待つ

何から手を付ければいいか

まずDocker公式のチュートリアルをやるべき。
チュートリアルは個人の環境からも出来るように公式リポジトリにチュートリアル用イメージが置いてある模様です。

The best way to understand Docker is to try it!
https://www.docker.com/tryit/

指定したコマンドを入力して順に使い方を理解するタイプのチュートリアルです。
Tipsを見れば大体何をすれば良いのか解ります。
どうしても分からない場合は Show the answer をクリックすれば答えが出てきます。
正解を入力すると右上に 「Well done! Let’s move to the next assignment.」の文字とともにNextボタンが現れるのでクリック。

以下ネタバレ。

>>チュートリアル0
Docker コマンドを入力してみよう的な。
まずversionの表示ですね

you@tutorial:~$ docker version
Docker Emulator version 0.1.3

Emulating:
Client version: 0.5.3
Server version: 0.5.3
Go version: go1.1

>>チュートリアル1
Dockerコンテナの元となる”イメージ”を「Docker Hub Registry」から検索する。
tutorialという名前の”イメージ”を探します

you@tutorial:~$ docker search tutorial
Found 1 results matching your query ("tutorial")
NAME DESCRIPTION
learn/tutorial An image for the interactive tutorial

>>チュートリアル2
1で見つけた Docker”イメージ”を docker pull コマンドでダウンロード。
正式名は learn/tutorial という名称。 / はディレクティブな表現みたいですね

you@tutorial:~$ docker pull learn/tutorial
Pulling repository learn/tutorial from https://index.docker.io/v1
Pulling image 8dbd9e392a964056420e5d58ca5cc376ef18e2de93b5cc90e868a1bbc8318c1c (precise) from ubuntu
Pulling image b750fe79269d2ec9a3c593ef05b4332b1d1a02a62b4accb2c21d589ff2f5f2dc (12.10) from ubuntu
Pulling image 27cf784147099545 () from tutorial

>>チュートリアル3
pullしてきたチュートリアル用”イメージ”で Hello World する。

you@tutorial:~$ docker run learn/tutorial echo "hello world"
hello world

>>チュートリアル4
“イメージ”に apt-get で ping コマンドをインストールする。
“イメージ”に変更が入った時点で、”コンテナ”が作成されます。
つまり”コンテナ”は”イメージ”からの差分データの事。

you@tutorial:~$ docker run learn/tutorial apt-get install -y ping
Reading package lists...
Building dependency tree...
The following NEW packages will be installed:
iputils-ping
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 56.1 kB of archives.
After this operation, 143 kB of additional disk space will be used.
Get:1 http://archive.ubuntu.com/ubuntu/ precise/main iputils-ping amd64 3:20101006-1ubuntu1 [56.1 kB]
debconf: delaying package configuration, since apt-utils is not installed
Fetched 56.1 kB in 1s (50.3 kB/s)
Selecting previously unselected package iputils-ping.
(Reading database ... 7545 files and directories currently installed.)
Unpacking iputils-ping (from .../iputils-ping_3%3a20101006-1ubuntu1_amd64.deb) ...
Setting up iputils-ping (3:20101006-1ubuntu1) ...

>>チュートリアル5
pingコマンドをインストールした”コンテナ”を別名でコミットします。(イメージ化)
具体的にはlearn/tutorial”イメージ”と、698″コンテナ”を元に、learn/ping”イメージ”を作成する
コミットする”コンテナ”は ps コマンドで確認出来ます。

you@tutorial:~$ docker ps -l
ID IMAGE COMMAND CREATED STATUS PORTS
6982a9948422 ubuntu:12.04 apt-get install ping 1 minute ago Exit 0

IDが 6982a9948422 となってますが、重複しない限り先頭数文字の 698 で認識できるようです。

you@tutorial:~$ docker commit 698 learn/ping
effb66b31edb

>>チュートリアル6
コミットして出来上がった”イメージ”にpingコマンドを実行させる。

you@tutorial:~$ docker run learn/ping ping google.com
PING www.google.com (74.125.239.129) 56(84) bytes of data.
64 bytes from nuq05s02-in-f20.1e100.net (74.125.239.148): icmp_req=1 ttl=55 time=2.23 ms
64 bytes from nuq05s02-in-f20.1e100.net (74.125.239.148): icmp_req=2 ttl=55 time=2.30 ms
64 bytes from nuq05s02-in-f20.1e100.net (74.125.239.148): icmp_req=3 ttl=55 time=2.27 ms
64 bytes from nuq05s02-in-f20.1e100.net (74.125.239.148): icmp_req=4 ttl=55 time=2.30 ms
64 bytes from nuq05s02-in-f20.1e100.net (74.125.239.148): icmp_req=5 ttl=55 time=2.25 ms
64 bytes from nuq05s02-in-f20.1e100.net (74.125.239.148): icmp_req=6 ttl=55 time=2.29 ms
64 bytes from nuq05s02-in-f20.1e100.net (74.125.239.148): icmp_req=7 ttl=55 time=2.23 ms
64 bytes from nuq05s02-in-f20.1e100.net (74.125.239.148): icmp_req=8 ttl=55 time=2.30 ms
64 bytes from nuq05s02-in-f20.1e100.net (74.125.239.148): icmp_req=9 ttl=55 time=2.35 ms
-> This would normally just keep going. However, this emulator does not support Ctrl-C, so we quit here.

>>チュートリアル7
“イメージ”情報の確認。
変化内容がバイナリではなくjsonという事がわかります。
つまり、テキストベースの設定として扱われる様です。

you@tutorial:~$ docker inspect eff
[2013/07/30 01:52:26 GET /v1.3/containers/efef/json
{
  "ID": "efefdc74a1d5900d7d7a74740e5261c09f5f42b6dae58ded6a1fde1cde7f4ac5",
  "Created": "2013-07-30T00:54:12.417119736Z",
  "Path": "ping",
  "Args": [
      "www.google.com"
  ],
  "Config": {
      "Hostname": "efefdc74a1d5",
      "User": "",
      "Memory": 0,
      "MemorySwap": 0,
      "CpuShares": 0,
      "AttachStdin": false,
      "AttachStdout": true,
      "AttachStderr": true,
      "PortSpecs": null,
      "Tty": false,
      "OpenStdin": false,
      "StdinOnce": false,
      "Env": null,
      "Cmd": [
          "ping",
          "www.google.com"
      ],
      "Dns": null,
      "Image": "learn/ping",
      "Volumes": null,
      "VolumesFrom": "",
      "Entrypoint": null
  },
  "State": {
      "Running": true,
      "Pid": 22249,
      "ExitCode": 0,
      "StartedAt": "2013-07-30T00:54:12.424817715Z",
      "Ghost": false
  },
  "Image": "a1dbb48ce764c6651f5af98b46ed052a5f751233d731b645a6c57f91a4cb7158",
  "NetworkSettings": {
      "IPAddress": "172.16.42.6",
      "IPPrefixLen": 24,
      "Gateway": "172.16.42.1",
      "Bridge": "docker0",
      "PortMapping": {
          "Tcp": {},
          "Udp": {}
      }
  },
  "SysInitPath": "/usr/bin/docker",
  "ResolvConfPath": "/etc/resolv.conf",
  "Volumes": {},
  "VolumesRW": {}

>>チュートリアル8
出来上がった”イメージ”を「Docker Hub Registry」へpushする。

you@tutorial:~$ docker push learn/ping
The push refers to a repository [learn/ping] (len: 1)
Processing checksums
Sending image list
Pushing repository learn/ping (1 tags)
Pushing 8dbd9e392a964056420e5d58ca5cc376ef18e2de93b5cc90e868a1bbc8318c1c
Image 8dbd9e392a964056420e5d58ca5cc376ef18e2de93b5cc90e868a1bbc8318c1c already pushed, skipping
Pushing tags for rev [8dbd9e392a964056420e5d58ca5cc376ef18e2de93b5cc90e868a1bbc8318c1c] on {https://registry-1.docker.io/v1/repositories/learn/p
ing/tags/latest}
Pushing a1dbb48ce764c6651f5af98b46ed052a5f751233d731b645a6c57f91a4cb7158
Pushing 11.5 MB/11.5 MB (100%)
Pushing tags for rev [a1dbb48ce764c6651f5af98b46ed052a5f751233d731b645a6c57f91a4cb7158] on {https://registry-1.docker.io/v1/repositories/learn/p
ing/tags/latest}

チュートリアル最後の push は実際にはアカウント登録が必要な模様
https://hub.docker.com/account/signup/

基本的に、Docker Hub Registry から始まり Docker Hub Registry に終わるという流れのようです。
元となるイメージをpullし、好みに編集し、コミット、最後にpush。
pushは任意か。

wordpressのマルチサイトで画像が表示されない

マルチサイトを立ててblogs.dirディレクトリを作成し画像のアップロードも確認出来たけど何故か画像が表示されなかった。

.htaccessに記述するRewriteEngineの設定が間違っているらしい
RewriteEngineの記述自体はwordpressがコレ追記してね。と言ってきた物を貼り付けてました。
そもそもuploadファイルのリダイレクト設定が書いて無かった…

■参考サイト
http://wpdocs.sourceforge.jp/ネットワークの作成

このサイトの”SubFolder Example”と”Issues with old WPMU installs”の項目でもうまく行かなかったので
“Issues with old WPMU installs”の内容をちょっと修正したら解決した。

Before

RewriteRule ^([_0-9a-zA-Z-]+/)?siteN/files/(.+) wp-content/blogs.dir/N/files/$2 [L]

After

RewriteRule ^([_0-9a-zA-Z-]+/)?files/(.+) wp-content/blogs.dir/2/files/$2 [L]