OS XでDockerをインストール(by boot2docker)時に競合するCrashPlanのポートを4243から変更する方法

コンテナ型仮想化技術のDockerがOS Xに対応しました。

早速 boot2docker を使ってインストールしようとしたところ、Dockerのデフォルトポート4243番と競合していたためセットアップが止まりました。

$ boot2docker init
[2014-02-08 12:57:16] DOCKER_PORT=4243 on localhost is used by an other process! Change the port to a free port.

4243ポートで待ち受けしてるアプリってなんぞ?と思って適当にぐぐってみたらどうやらCrashPlanっぽい。CrashPlanはクラウド型のバックアップアプリケーションです。

Port 4243 (tcp/udp) :: SpeedGuide.net

Port 4243 (tcp/udp) :: SpeedGuide.net

CrashPlanにはGUIクライアントがあって、「他のコンピュータからのバックアップ受信」の設定でポートを変更できるのですが、デフォルトは4242番になっている。4243のいっこ手前なので、これを変更したら4243もずれてくれるかもと思って試してみたけどダメ。

で、いろいろ検索したところCrashPlanServiceの設定ファイルを直接編集して変更することができました。

サーバーの設定ファイルは /Library/Application Support/CrashPlan/conf/my.service.xml にあります。このXMLファイルのservicePortの値を変更します。今回は4200へ変更しました。

CrashPlan change service port

変更後はPCを再起動するか、CrashPlanServiceをkillしてむりやり再起動させます。もっとちゃんとした再起動方法があったら教えてください。

$ ps auxww | grep Crash
root 1380 0.0 1.2 3243068 98668 ?? SNs 12:56PM 0:05.43 /usr/bin/java -Dapp=CrashPlanService -Xmn10m -Xms15m -Xmx512m -DappBaseName=CrashPlan -Djava.awt.headless=true -Dfile.encoding=UTF-8 -Djava.net.preferIPv4Stack=true -Dsun.net.inetaddr.ttl=300 -Dnetworkaddress.cache.ttl=300 -Dsun.net.inetaddr.negative.ttl=0 -Dnetworkaddress.cache.negative.ttl=0 -DCP_USER_NAME= -DCP_USER_HOME=/Users/akiyan -cp lib/com.backup42.desktop.jar:lang com.backup42.service.CPService CP_USER_NAME= CP_USER_HOME=/Users/akiyan
$ sudo kill 1380

次にGUIクライアントの設定を変更します。これも設定ファイルを直接編集です。

設定は /Applications/CrashPlan.app/Contents/Resources/Java/conf/ui.properties です。servicePort=4200 を追記します。

1. imac27.local

これでCrashPlanは4200番で動作するようになり、GUIクライアントも動作するようになりました。

再度 boot2docker initを実行するとモコモコとセットアップが続行しました。

$ boot2docker init
[2014-02-08 14:06:52] Creating VM boot2docker-vm
Virtual machine 'boot2docker-vm' is created and registered.
UUID: 8507c7a0-ad97-459f-af34-bfaaaef*****
Settings file: '/Users/akiyan/VirtualBox VMs/boot2docker-vm/boot2docker-vm.vbox'
[2014-02-08 14:06:52] Setting VM settings
[2014-02-08 14:06:52] Setting VM networking
[2014-02-08 14:06:52] boot2docker.iso not found.
[2014-02-08 14:06:54] Latest version is v0.5.4, downloading...
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 344 100 344 0 0 268 0 0:00:01 0:00:01 --:--:-- 268
1 27.0M 1 342k 0 0 50739 0 0:09:17 0:00:06 0:09:11 69407

VIrtualBox上にboot2dockerのVMがセットアップされています。

Oracle VM VirtualBox Manager

boot2dcoker upも正常に完了しました。

$ boot2docker up
[2014-02-08 14:09:54] Starting boot2docker-vm...
[2014-02-08 14:11:11] Started.

ポート番号の衝突回避ではDocker側のポートを変更してもよいのですが、CrasnPlan側を変更してしまったほうがメリットが大きそうなのでこのようにしました。

余談ですが、boot2docker.isoのバージョンが0.5.4だとこの後の boot2docker ssh が通りませんでした。調べたら 0.5.3 で動いたよ!という情報があったので、VMを削除し、予め 0.5.3 の boot2docker.iso をダウンロードして先ほど ダウンロードしたディレクトリで boot2docker init を実行して up、ssh したところ、通りました。

さて、Dockerでやりたいことあったかなー、、、

コメント / トラックバック

コメントは受け付けていません。