docker buildするとimageがnoneになる

phpのimageにNew relicを入れたのdocker imageをつくろうと

$ vim Dockerfile

FROM php:5-apache
RUN a2enmod rewrite
RUN apt-get update \ 
  && apt-get install -y libfreetype6-dev libjpeg62-turbo-dev libpng12-dev libjpeg-dev libmcrypt-dev wget \
  && docker-php-ext-install pdo_mysql mysqli mbstring iconv mcrypt zip \ 
  && docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ \
  && docker-php-ext-install -j$(nproc) gd \ 
  && wget -O - https://download.newrelic.com/548C16BF.gpg | apt-key add - && \ 
    echo "deb http://apt.newrelic.com/debian/ newrelic non-free" > /etc/apt/sources.list.d/newrelic.list \
&&   apt-get -yq install newrelic-php5

$ docker build -t test .
とすると

$ docker images

REPOSITORY                     TAG                   IMAGE ID            CREATED             SIZE
<none>                         <none>                e1e4ef76e658        1 hour ago        440.3 MB

と、REPOSITORY、TAGがに..
しかたなく

$ docker tag e1e4ef76e658 test

とかして、使ってみましたが、Newrelicが入ってない..
Dockerfileをよくみると、リポジトリ追加後に、apt-get updateを忘れていました
追加して

$ vim Dockerfile

FROM php:5-apache
RUN a2enmod rewrite
RUN apt-get update \ 
  && apt-get install -y libfreetype6-dev libjpeg62-turbo-dev libpng12-dev libjpeg-dev libmcrypt-dev wget \
  && docker-php-ext-install pdo_mysql mysqli mbstring iconv mcrypt zip \ 
  && docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ \
  && docker-php-ext-install -j$(nproc) gd \ 
  && wget -O - https://download.newrelic.com/548C16BF.gpg | apt-key add - && \ 
    echo "deb http://apt.newrelic.com/debian/ newrelic non-free" > /etc/apt/sources.list.d/newrelic.list

RUN apt-get update && \ 
    apt-get -yq install newrelic-php5

再ビルド
$ docker build -t test .

これで、ちゃんと名前がつくようになりました

Nginxでstat() failed (13: Permission denied)エラー

Centos7 + Nnginx 1.10.3 でerror.logを見てみると

2017/02/17 10:51:27 [crit] 17910#17910: *1 stat() "/home/user/sample/html/" failed (13: Permission denied), client: xxx.xxx.xxx.xxx, server: sample.com, request: "GET / HTTP/1.1", host: "sample.com", referrer: "https://sample.com"

といったエラーがたくさん..
ディレクトリのパーミッションを見てみても

$ ls -al /home/user/sample/html/

drwxrwxr-x 7 user nginx 4096  2月 16 12:10 .

な感じで問題なさそう

いろいろ調べるとNginxの公開ディレクトリを、ユーザーのホームディレクトリ内に作ってて

$ ls -al /home/user

drwx------ 1 user user 4096  2月 16 12:10 .

と、途中の実行権限がないのが原因らしい

$ chmod 701 /home/user

で実行権限を付与
解決しました

参考) nginx 403 forbidden error when server static file under user home directory

kindleタブレットで動くアプリ

amazon primeに入ってタブレットが割引されてたので、kindle fireを買いました
※ kindle paper whiteはアプリ使えないらしいです

Androidタブレットと違って、Google Play Storeでなく、Amazon アプリストアなのでないアプリもあります

実際は、開発元がAndroidで動くアプリを、Kindleでも動くようにして公開してあげればOKなのですが有名アプリじゃないとやってないところが多そうですね

動画系

有名どころの動画系はそろってます

ゲーム系

ゲームは別アカウントでできたりするので、役に立ったりするかも..

有名どころは抑えてる気がします

rsyncでtagsディレクトリが転送されない

Hugo :: A fast and modern static website engineでサイトを作って、
rsyncでWEBサーバーにファイルを転送してたのですが、tagsディレクトリが転送されてませんでした

使ってたrsyncのコマンドはこれ

rsync -C -rltuvz ./ deploy_server:/var/www/html/

deploy_serverは任意のサーバーを指定します
man rsync
で確認すると -C オプションは tags を除外するようでした

このディレクトリにほかのtagsがないことを確認して

rsync -C -rltuvz --include="tags" ./ deploy_server:/var/www/html/

として解決させました