gitbucket の docker image を VPS で起動して,SSHトンネリングで見れた.

今日試したこと.

$ sudo docker images
$ sudo docker run -d -P -v /opt/data/gitbucket:/var/gitbucket f99aq8ove/gitbucket
$ sudo docker ps
[sudo] password for uniker: 
CONTAINER ID        IMAGE                 COMMAND                  CREATED             STATUS              PORTS                                               NAMES
77e7ffb467a4        f99aq8ove/gitbucket   "java -jar /opt/gitbu"   35 minutes ago      Up 35 minutes       0.0.0.0:32769->8080/tcp, 0.0.0.0:32768->29418/tcp   elegant_kirch

docker は,リモートのサーバ(Sakura の VPS)で起動している.

SSHトンネリングで VNC - uniker's blog の方法で,リモートの 32769 をローカルの 1239 にポートフォワーディングしてから ローカルのブラウズで http://localhost:1239 とすると,正常に,gitbucket の画面が見れた.

次は,

  • autossh を使いつつトンネルを継続する.autossh - MQTT and …
  • docker ホスト側のポートを指定して.常に同じポートでアクセスできるようにする.
  • gitlab も入れて,gitbucket と比較する.

docker on CentOS7 が出力する firewalld のエラーを回避

$ systemctl status firewalld.service

とするとちらりとエラーが見えたので,/var/log/firewalld を見てみると次のようなエラーが出ていた.

2016-02-23 23:20:48 ERROR: COMMAND_FAILED: '/sbin/iptables -w2 -t nat -D PREROUTING' failed: iptables: Bad rule (does a matching rule exist in that chain?).
2016-02-23 23:20:48 ERROR: COMMAND_FAILED: '/sbin/iptables -w2 -t nat -D OUTPUT' failed: iptables: Bad rule (does a matching rule exist in that chain?).
2016-02-23 23:20:48 ERROR: COMMAND_FAILED: '/sbin/iptables -w2 -D FORWARD -i docker0 -o docker0 -j DROP' failed: iptables: Bad rule (does a matching rule exist in that chain?).
2016-02-23 23:20:48 ERROR: COMMAND_FAILED: '/sbin/iptables -w2 -t nat -n -L DOCKER' failed: iptables: No chain/target/match by that name.
2016-02-23 23:20:48 ERROR: COMMAND_FAILED: '/sbin/iptables -w2 -t nat -C PREROUTING -m addrtype --dst-type LOCAL -j DOCKER' failed: iptables: No chain/target/match by that name.
2016-02-23 23:20:48 ERROR: COMMAND_FAILED: '/sbin/iptables -w2 -t nat -C OUTPUT -m addrtype --dst-type LOCAL -j DOCKER ! --dst 127.0.0.0/8' failed: iptables: No chain/target/match by that name.

下記ページを参考に,firewalld ではなく iptables を使うように設定した.

CentOS7 で iptables を使用できるように設定する

Jupyter のインストール to CentOS7

pip のインストール

$ curl -KL https://bootstrap.pypa.io/get-pip.py | sudo python

Jupyter のインストール

基本的には,以下のコマンドを実行すればインストールできるのだが,エラーが起きて止まった.

$ sudo pip install jupyter

必要に応じて下記を実行してからインストールすること.

  • Python.h そのようなファイルやディレクトリはありません
$ sudo yum install python-dev
  • cc1plus そのようなファイルやディレクトリはありません
$ sudo yum install gcc-c++

Maven と Git を Eclipse@Mac で使用する環境構築

EclipseでMavenプロジェクトを作ってGithubで管理 - Qiita を参考に環境構築.

Maven のインストール

homebrew でインストール. 品揃えをチェック

$ brew search maven

すると,maven-shell,maven2,maven30,maven31 やら表示されたから,maven31 をインストール.

$ brew install homebrew/versions/maven31

Eclipse の準備

Eclipse のインストール

Luna(Ver. 4.4) の Java 開発版を選択してインストール.

Egit(Git のEclipse Plugin)のインストール

Help の Eclipse Market place から Egit を search してインストールした..

m2e(MavenEclipse Plugin)のインストール

Java 開発者版を選択したら,Maven の plugin m2e は最初から入っていたみたい. とくに何もせず Eclipse から Maven を使用できている.

Maven の初期設定

メニューアイテム「環境設定」から,Maven の Instalations を選択し,Add を押し,

下記コマンドで調べられる, Maven home のパス "/usr/local/Cellar/maven31/3.1.1/libexec" を Installation home に指定し, Installation name には maven31 と入力した.

$ mvn --version
Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8
Apache Maven 3.1.1 (0728685237757ffbf44136acec0402957f723d9a; 2013-09-18 00:22:22+0900)
Maven home: /usr/local/Cellar/maven31/3.1.1/libexec
Java version: 1.6.0_65, vendor: Apple Inc.
Java home: /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
Default locale: ja_JP, platform encoding: UTF-8
OS name: "mac os x", version: "10.9.5", arch: "x86_64", family: "mac"

Maven のプロジェクト追加

new Project から,"Maven Project" を選択

archetype としては,org.apache.maven.archetypes の maven-archetype-quickstart を選択し, 次のように設定した(Package は,uniker9.mvntest となる). * Group Id は uniker9 * Artifact Id は mvntest

Git のリポジトリ追加

Perspective を Git にして,左から三つ目のアイコン (ツールチップで "Clone a Git repository and add the clone to this view" と表示されるもの)を選択.

Maven のプロジェクトと Git リポジトリの関連づけ

プロジェクト mvntest を右クリックして,team → share project で Git を選択. 作成した Git のローカルリポジトリを選択.