LoginSignup
38
45

More than 5 years have passed since last update.

Docker上に開発環境一式を構築する

Last updated at Posted at 2016-02-12

概要

Docker上にGitBucket/Jenkins/nginx/DNS/デスクトップ環境のコンテナを立て、開発環境一式まるまる構築します。各コンテナが更新するファイルはホスト側に配置します。

Pros/Cons

  • Dockerfileを見ればインストールしたものが一目瞭然
  • バックアップや移行が簡単
  • rootkitにやられても再起動すれば元通り
  • セキュリティアップデートは面倒

現在のステータス

サーバー準備

ベアメタル2台使ってCoreOS+fleetでいろいろ試していたのですが、今回はConoHaのVPSの一番安いプランを使ってみます。
「サーバー追加」
1.プラン
タイプ: VPS
リージョン: 東京
メモリ: 1GB

2.イメージ
イメージタイプ: OS
OS: Ubuntu
 CoreOSが無かったのでUbuntuにしました。OSイメージをアップロード出来るのですが今回はそこまでしません。
バージョン: 14.04(64bit)
root パスワード: xxxxxx
 ここでパスワードを決めておく必要があります。

「追加」ボタンを押すとイメージ作成中となり、サーバーリストに表示されます。しばらくするとコンソールに接続できるようになります。

Docker準備

$ apt-get update
$ wget -qO- https://get.docker.com/ | sh

aptでインストールした方が管理が楽かもしれません。

$ apt-get install docker.io

できるだけrootで作業したくないのでdockerユーザーを作ろうとしたのですが 'adduser docker' だと'docker' グループがもうあるので作れない、と怒られてしまいます。
useraddだと自分でディレクトリ作ったり.bashrc持って来たりとか面倒なんで、別名でやった方が楽かもしれないですね。

# useradd docker -g docker -s /bin/bash
# mkdir -p /home/docker
# cp /etc/skel/.bashrc /home/docker

dockerユーザーで公開鍵ログインしようとしてハマりました。ConoHaのコンソールにはバグがあって公開鍵をテキスト送信しようとすると切り詰められてしまいます。Windows8 + Chrome環境です。twitterでも同じようなことをつぶやいてる方がいました。CentOS6 + Chromeでは再現しませんでした。この件はサポートとやり取り中で、環境により200バイト以上では文字が欠けることがあるようです。

一旦/etc/ssh/sshd_configでPasswordAuthentication yesにしてrootで接続し、/home/docker/.ssh/authorized_keysに登録してしまうのが早いと思います。

dockerユーザーでログインできるのを確認したら下記の様にポートも一応変更して再起動します。Ubuntu14.04ではPasswordAuthenticationはデフォルトでnoでした。

sshd_config
PasswordAuthentication no
PermitRootLogin no
Port 10022
$ sudo sshd restart
38
45
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
38
45