Hatena::ブログ(Diary)

いろいろつまみ食い このページをアンテナに追加

2017-01-14

docker: Network timed out... 05:42 docker: Network timed out...を含むブックマーク docker: Network timed out...のブックマークコメント

Docker for macで初めてDockerに触ってみたが

$ docker run hello-world

すると

Unable to find image 'hello-world:latest' locally
Pulling repository docker.io/library/hello-world
docker: Network timed out while trying to connect to https://index.docker.io/v1/repositories/library/hello-world/images. You may want to check your internet connection or if you are behind a proxy..
See 'docker run --help'.

てな具合で、先に進めない。

ぐぐる

$ docker-machine restart default
$ eval $(docker-machine env default)

https://blogdoparanga.wordpress.com/2015/12/27/docker-network-timed-out-while-trying-to-connect-to-httpsindex-docker-iov1repositoriesdockerwhalesayimages-you-may-want-to-check-your-internet-connection-or-if-you-are-behind-a-proxy/

するといいと出て来るが

Host does not exist: "default"

となる。

そもそもdefaultと言うものがない。

defaultについてさらにぐぐる

$ docker-machine create -d virtualbox default

という記述を見つける

(自分のMacにはvirtualboxはすでにInstall済み。だが、Installしているvirtualboxのことなのだろうか?)

$ docker-machine create -d virtualbox default

Creating CA: /Users/abcdefg/.docker/machine/certs/ca.pem
Creating client certificate: /Users/abcdefg/.docker/machine/certs/cert.pem
Running pre-create checks...
(default) Image cache directory does not exist, creating it at /Users/abcdefg/.docker/machine/cache...
(default) No default Boot2Docker ISO found locally, downloading the latest release...
(default) Latest release for github.com/boot2docker/boot2docker is v1.12.6
(default) Downloading /Users/abcdefg/.docker/machine/cache/boot2docker.iso from https://github.com/boot2docker/boot2docker/releases/download/v1.12.6/boot2docker.iso...
(default) 0%....10%....20%....30%....40%....50%....60%....70%....80%....90%....100%
Creating machine...
(default) Copying /Users/abcdefg/.docker/machine/cache/boot2docker.iso to /Users/abcdefg/.docker/machine/machines/default/boot2docker.iso...
(default) Creating VirtualBox VM...
(default) Creating SSH key...
(default) Starting the VM...
(default) Check network to re-create if needed...
(default) Found a new host-only adapter: "vboxnet0"
(default) Waiting for an IP...
Waiting for machine to be running, this may take a few minutes...
Detecting operating system of created instance...
Waiting for SSH to be available...
Detecting the provisioner...
Provisioning with boot2docker...
Copying certs to the local machine directory...
Copying certs to the remote machine...
Setting Docker configuration on the remote daemon...
Checking connection to Docker...
Docker is up and running!
To see how to connect your Docker Client to the Docker Engine running on this virtual machine, run: docker-machine env default
$ docker-machine ls
NAME      ACTIVE   DRIVER       STATE     URL                         SWARM   DOCKER    ERRORS
default   -        virtualbox   Running   tcp://192.168.99.100:2376           v1.12.6   

なんか出来てるし、Virtualboxにもなんか出来てる。

f:id:imaiworks:20170115054948p:image

これがDockerコンテナを動かすホストなのかな?

$ docker-machine restart default
Restarting "default"...
(default) Check network to re-create if needed...
(default) Waiting for an IP...
Waiting for SSH to be available...
Detecting the provisioner...
Restarted machines may have new IP addresses. You may need to re-run the `docker-machine env` command.

ぉぉぉーすすんだ!

$ eval $(docker-machine env default)
$ docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
78445dd45222: Pull complete 
Digest: sha256:c5515758d4c5e1e838e9cd307f6c6a0d620b5e07e6f927b07d05f6d12a1ac8d7
Status: Downloaded newer image for hello-world:latest

Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker ID:
 https://cloud.docker.com/

For more examples and ideas, visit:
 https://docs.docker.com/engine/userguide/

ぉー!動いたらしい!!

https://docs.docker.com/docker-for-mac/

に戻って

$ docker run -d -p 80:80 --name webserver nginx
Unable to find image 'nginx:latest' locally
latest: Pulling from library/nginx
75a822cd7888: Pull complete 
0aefb9dc4a57: Pull complete 
046e44ee6057: Pull complete 
Digest: sha256:fab482910aae9630c93bd24fc6fcecb9f9f792c24a8974f5e46d8ad625ac2357
Status: Downloaded newer image for nginx:latest
ed83898c498d41796a90fe2368e0181d22267562b95e684dc6ff9c88d5de944c

入ったらしいがどうすればいいんだろう?

サンプルではhttp://localhost/にアクセスしろって言ってるけど、だめだった

$ docker-machine ls
NAME      ACTIVE   DRIVER       STATE     URL                         SWARM   DOCKER    ERRORS
default   -        virtualbox   Running   tcp://192.168.99.100:2376           v1.12.6   

このIPかな?ってことで

http://192.168.99.100

にアクセスしたら

f:id:imaiworks:20170115054710p:image

やったー!

トラックバック - http://d.hatena.ne.jp/imaiworks/20170114

2016-12-20

Outlook 2016 for macでカレンダーに祝日を設定するたったひとつの方法 11:43 Outlook 2016 for macでカレンダーに祝日を設定するたったひとつの方法を含むブックマーク Outlook 2016 for macでカレンダーに祝日を設定するたったひとつの方法のブックマークコメント

MSMacに対する中途半端さは頭来るんですが

とにかくWindows版のサブセットのサブセットでしか無い「Outlook 2016 for mac」には

休日の表示をする方法がない!

本当にない!!

ヘルプで祝日や休日を検索しても出てこない!!!

たぶんMSもやり方を知らない





もしサブスクリプション版をつかっているならoffice365が有るはずなので

ブラウザからOffice365のoutlook365にアクセスする

上部に「カレンダーの追加」ってのがあるので

f:id:imaiworks:20161220114104p:image

クリックすると、念願の「休日の予定表」がしれっとでてくるw

ここから「日本」を選べば追加されるので

Macoutlookにも休日が追加されているはず。

f:id:imaiworks:20161220114105p:image

MS製品はなんか無理・・

トラックバック - http://d.hatena.ne.jp/imaiworks/20161220

2016-05-30 このエントリーを含むブックマーク このエントリーのブックマークコメント

厭味ったらしくいう人の頭のなかはどうなっているのだろう?

僻み根性で出来てるのかな?

トラックバック - http://d.hatena.ne.jp/imaiworks/20160530

2015-11-17

標準出力と標準エラー出力をファイルに落とす 13:10 標準出力と標準エラー出力をファイルに落とすを含むブックマーク 標準出力と標準エラー出力をファイルに落とすのブックマークコメント

コマンド > ファイル名.log 2>&1 &

いつも忘れる・・

トラックバック - http://d.hatena.ne.jp/imaiworks/20151117

2015-05-29

C# [HttpGet] public async Task<IEnumerable<object>>で出力をしようとしてるのにエラー 14:54 C#  [HttpGet] public async Task<IEnumerable<object>>で出力をしようとしてるのにエラーを含むブックマーク C#  [HttpGet] public async Task<IEnumerable<object>>で出力をしようとしてるのにエラーのブックマークコメント

よくわかっていませんが

<Error>
<Message>An error has occurred.</Message>
<ExceptionMessage>The 'ObjectContent`1' type failed to serialize the response body for content type 'application/xml; charset=utf-8'.</ExceptionMessage><ExceptionType>System.InvalidOperationException</ExceptionType>
<StackTrace/>
<InnerException>
<Message>An error has occurred.</Message>
<ExceptionMessage>型 '<>f__AnonymousTypeb`3[System.Int32,System.Int32,System.String]' をシリアル化できません。この型を DataContractAttribute 属性でマークするか、シリアル化するすべてのメンバーを DataMemberAttribute 属性でマークしてください。この型がコレクションの場合は、CollectionDataContractAttribute 属性でマークすることを検討してください。その他のサポートされている型については、Microsoft .NET Framework のマニュアルを参照してください。</ExceptionMessage>

このメッセージはFirefoxで直接アクセスしたから

直接アクセスするのはInternetExplorerで実行すれば言われない


ForefoxのAcceptヘッダー

text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8

InternetExplorerのAcceptヘッダー

text/html, application/xhtml+xml, */*

application/xmlが邪魔するみたい。。。。

ので、FirefoxでもAcceptヘッダーからapplication/xmlを削除すればなんとかなります。





orz..

トラックバック - http://d.hatena.ne.jp/imaiworks/20150529

2015-05-20

phpで503を出すには・・ 15:19 phpで503を出すには・・を含むブックマーク phpで503を出すには・・のブックマークコメント

何かしらの障害でサイトやページが出せなくなったら

取り急ぎ503で逃げることで

Googleクローラーが来ても「ぁぁメンテ中なのね」と思ってくれる

その間に頑張って復旧しよう!


page503.php

<?php
header ('HTTP/1.0 503 Service Temporarily Unavailable');
?>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

現在メンテナンス中です。<br>
誠に申し訳ございません。<br>

/やディレクトリ配下に以下.htaccessを置く(mod_rewriteやhtaccessが有効になってるのが前提)

.htaccess

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /page503.php [L]
</IfModule>

ファイル1つをアップロードで対応できるphpとかは楽だなーってトラブった時に思う次第

トラックバック - http://d.hatena.ne.jp/imaiworks/20150520

2015-01-21 このエントリーを含むブックマーク このエントリーのブックマークコメント

トラックバック - http://d.hatena.ne.jp/imaiworks/20150121

2014-06-29

IBM BlueMixでCakePhpを動かす 13:54 IBM BlueMixでCakePhpを動かすを含むブックマーク IBM BlueMixでCakePhpを動かすのブックマークコメント

性分的にオープンβもクローズドβも二つ返事で「やります」と言ってしまうwので、

IBM BlueMixというPaaSを使ってみることに。。


個人的にはphpさえあれば満足な人なので、

ひとまずCakePHPを動かすのを目標にしてみました。

(なぜかBlueMixでCakePHPを動かしたって記事をググっても見当たらないし・・)



なにはともあれ、BlueMixのアカウントを作成します。

IBM BlueMix

https://ace.ng.bluemix.net/


次にCreate An Applicationします。

その際に「Library for Java」を選んでおきます。

(って言うのもBlueMixではPHPはサポートしてないwけど、

 phpのBuildPackがあるのでそれを使います)

f:id:imaiworks:20140629131606p:image



f:id:imaiworks:20140629131609p:image

f:id:imaiworks:20140629131607p:image

f:id:imaiworks:20140629131608p:image



f:id:imaiworks:20140629132001p:image

で、Applicationのコンテナができるのでここにプログラムを入れるんですが

プログラムアップロードするのはCloudFoundryが提供しているcliデプロイします


https://github.com/cloudfoundry/cli/releases

から自分は以下をダウンロードしてインストールしました


Installers

Mac OS X 64 bit



これでcfコマンドが使えるようになるのでセットアップします

$ cf api https://api.ng.bluemix.net
Setting api endpoint to https://api.ng.bluemix.net...
OK

API endpoint: https://api.ng.bluemix.net (API version: 2.2.0)
Not logged in. Use 'cf login' to log in.

loginはBlueMixのIBM IDのログインパスワード

$ cf login
API endpoint: https://api.ng.bluemix.net

Email> xxxxxx@xxxxxx.com

Password> 
Authenticating...
OK

Targeted org xxxxxx@xxxxxx.com

Targeted space dev


API endpoint: https://api.ng.bluemix.net (API version: 2.2.0)
User:         xxxxxx@xxxxxx.com
Org:          xxxxxx@xxxxxx.com
Space:        dev



ひとまずHelloしましょう

$ mkdir bluemixhello
$ cd bluemixhello/
$ vi index.php
---
<?php
echo "hello world";
---

作ったhello worldアプリ(w)をBlueMixにデプロイします

デプロイする際はcf-php-build-packを使います


$ cf push -b https://github.com/dmikusa-pivotal/cf-php-build-pack.git imaiworks1
Updating app imaiworks1 in org xxxxx@xxxxxxxx.com / space dev as xxxxx@xxxxxxxx.com...
OK

Uploading imaiworks1...
Uploading app files from: /Users/imaiworks/bluemixhello
Uploading 159, 1 files
OK

Stopping app imaiworks1 in org xxxxx@xxxxxxxx.com / space dev as xxxxx@xxxxxxxx.com...
OK

Starting app imaiworks1 in org xxxxx@xxxxxxxx.com / space dev as xxxxx@xxxxxxxx.com...
-----> Downloaded app package (4.0K)
OK
-----> Downloaded app buildpack cache (12M)
Cloning into '/tmp/buildpacks/cf-php-build-pack'...
Installing HTTPD
Installing PHP
Finished: [2014-06-29 04:33:39.205132]
-----> Uploading droplet (12M)

1 of 1 instances running

App started

Showing health and status for app imaiworks1 in org xxxxx@xxxxxxxx.com / space dev as xxxxx@xxxxxxxx.com...
OK

requested state: started
instances: 1/1
usage: 512M x 1 instances
urls: imaiworks1.mybluemix.net

     state     since                    cpu    memory          disk   
#0   running   2014-06-29 01:33:48 PM   0.0%   47.3M of 512M   34.2M of 1G  

これでBlieMixに上がったのでブラウザで確認します。

f:id:imaiworks:20140629133605p:image

死ぬほど簡単。。



次は本題のCakePHP


ここでちょっとぶつかったのですが

cf-php-build-packのDocumentRootがhtdocsで

CakePHPは概ねapp/webrootなのでできればこれにしたい

ディレクトリに入れるなら別にそんなことしなくてもいいけどね)

ので、いろいろ試してこれかな?って思ったのは

cf-php-build-packのdefaults/config/httpd/2.4.x/httpd.conf内の

     DocumentRoot "${HOME}/htdocs"

     DocumentRoot "${HOME}/htdocs/app/webroot"

と書き換えることと、


cakephprootにあるindex.php

     define('CAKE_CORE_INCLUDE_PATH', ROOT . DS . 'lib');

     define('CAKE_CORE_INCLUDE_PATH', ROOT . DS . '../lib');

としたこと。


改変したbuilpackは

https://github.com/imaiworks/cf-php-build-pack-cakephp

にあげてありますのでご自由に・・


ってことでCakePHPの準備をします

cakephp-2.5.2.tar.gzをダウンロード

tar xzvf cakephp-2.5.2.tar.gz
cd cakephp-2.5.2
vi index.php
---
-        define('CAKE_CORE_INCLUDE_PATH', ROOT . DS . 'lib');
+        define('CAKE_CORE_INCLUDE_PATH', ROOT . DS . '../lib');
---

(SaltDB設定は個々にやっておいてくださいまし)


BlueMixにデプロイします

$ cf push -b https://github.com/imaiworks/cf-php-build-pack-cakephp.git imaiworks1
Updating app imaiworks1 in org xxxxx@xxxxxxxx.com / space dev as xxxxx@xxxxxxxx.com...
OK

Uploading imaiworks1...
Uploading app files from: /Users/imaiworks/bluemix/cakephp-2.5.2
Uploading 5.5M, 1440 files
OK

Stopping app imaiworks1 in org xxxxx@xxxxxxxx.com / space dev as xxxxx@xxxxxxxx.com...
OK

Starting app imaiworks1 in org xxxxx@xxxxxxxx.com / space dev as xxxxx@xxxxxxxx.com...
OK
-----> Downloaded app package (2.1M)
-----> Downloaded app buildpack cache (12M)
Cloning into '/tmp/buildpacks/cf-php-build-pack-cakephp'...
Installing HTTPD
Installing PHP
Finished: [2014-06-29 04:51:29.022169]
-----> Uploading droplet (13M)

1 of 1 instances running

App started

Showing health and status for app imaiworks1 in org xxxxx@xxxxxxxx.com / space dev as xxxxx@xxxxxxxx.com..
OK

requested state: started
instances: 1/1
usage: 512M x 1 instances
urls: imaiworks1.mybluemix.net

     state     since                    cpu    memory          disk   
#0   running   2014-06-29 01:51:41 PM   0.0%   59.3M of 512M   46.5M of 1G   

たぶんこれでうまくいくはずです

f:id:imaiworks:20140629135344p:image




cfを知らないので多くは語れないですが、

BlueMixはGoogle AppEngineとかHeroku的な感覚でした。

AWSだとAWS Elastic Beanstalkに近いですね。

今今動いているシステムをBlueMixに移すのはちょっと厳しいけど

新しくサービスを作る立ち上げるのならAWSよりはるかに簡単に扱えます。

で、コンテンツの更新は基本DBCache等で行い

ファイル更新andデプロイでは基本やらないなどの

ちょっと違った考え方で作りこむのがいいでしょうね。

(気軽にデプロイ出来るとはいえ、設定ミスるとデプロイでコンテナが破棄されたままになるのはちょっと危険・・)

あとは、ログの収集やCronやバッチを動かすのはどうするんだろ?ってところと

デプロイしたアプリ世代管理されていて

いざという時、世代を戻せるとかそういうリカバリ機能があるといいなー


BlueMix、使いこなせたらインフラ管理しなくてもいいから超楽しいかもー



こちらの記事はとても参考にさせていただきました。

ありがとうございました。


まだプログラマーですが何か?

BlueMix 上で PHP アプリを動かす

http://dotnsf.blog.jp/archives/1000985586.html

dotnsfdotnsf 2014/07/04 17:53 私のブログを参照いただき、ありがとうございました。

私も cakePHP に挑戦しようとして、
 「あ、これ RewriteRule の上書きが許可されてないやつだ・・・」
と気づいて面倒そうなので後回しにしてました。大変参考になります、ありがとうございました。

cakePHP が動くと、アプリケーションプラットフォームとしての幅はかなり広がると感じてます。僕が実際に携わっている業務アプリの半分くらいはBluemixで動くことになると思ってます。

トラックバック - http://d.hatena.ne.jp/imaiworks/20140629

2014-04-17

ソーシャルメディアでのイイね数とか取る方法 14:43 ソーシャルメディアでのイイね数とか取る方法を含むブックマーク ソーシャルメディアでのイイね数とか取る方法のブックマークコメント

facebook

https://api.facebook.com/method/fql.query?query=select%20like_count,%20total_count,%20share_count,%20click_count%20from%20link_stat%20where%20url=%22http://www.yyy.com/zzz/%22

twitter

http://urls.api.twitter.com/1/urls/count.json?url=http://www.yyy.com/zzz/

google+

https://apis.google.com/_/+1/fastbutton?url=http://www.yyy.com/zzz/

内容をパースするらしい

参照

http://hayashikejinan.com/webwork/sns/358/

はてブ

http://api.b.st-hatena.com/entry.count?url=http%3A%2F%2Fwww.yyy.com%2Fzzz%2F

参照

http://developer.hatena.ne.jp/ja/documents/bookmark/apis/getcount

トラックバック - http://d.hatena.ne.jp/imaiworks/20140417

2014-03-12

Amazon Web Services AWS Elastic Load Balancers で Remove from Load Balancerをすると・・・ 17:57 Amazon Web Services AWS Elastic Load Balancers で Remove from Load Balancerをすると・・・を含むブックマーク Amazon Web Services AWS Elastic Load Balancers で Remove from Load Balancerをすると・・・のブックマークコメント

ダイアログも出ずにELBからサクッと外されます

追加はInstance表の+/-から追加できるが、

少々時間がかかります

トラックバック - http://d.hatena.ne.jp/imaiworks/20140312