Ubuntu14.04のbyobuをputtyから使うで作成したDockerfileでは、byobuの初期設定をコンテナに接続してから手動で行っていました。
Dockerfileで.emacs.dなどのドットファイルをADDするようにしたので、~/.byobu/
ディレクトリもコピーするようにします。
.byobuの設定ファイル
Dockerfileで初期設定としてADDする.byobuのドットファイルです。
$ tree ~/docker_apps/phusion/dotfiles/.byobu dotfiles/.byobu/ ├── backend ├── keybindings.tmux └── status
|
byobuを使う場合、いつも以下のように設定しています。
- バックエンドはtmuxを使う
ctrl+a
は、Emacsモードにして行頭にカーソルを移動する
ctrl+t
を、エスケープシーケンスにする
- ステータス通知にip_addressを表示する
- ステータス通知にlogoを表示しない、表示するとputtyでbyobuが毎秒スクロールしてしまう
backendにtmuxの指定をします。
backendにtmuxをしたときのキーバインドの変更です。
~/docker_apps/phusion/dotfiles/.byobu/keybindings.tmuxunbind-key -n C-a unbind-key -n C-t set -g prefix ^T set -g prefix2 ^T bind t send-prefix
|
画面下に表示されるステータスバーの設定を調整します。
~/docker_apps/phusion/dotfiles/.byobu/status
screen_upper_left="color" screen_upper_right="color whoami hostname ip_address menu" screen_lower_left="color logo distro release #arch session" screen_lower_right="color network #disk_io custom #entropy raid reboot_required updates_available #apport #services #mail users uptime #ec2_cost #rcs_cost #fan_speed #cpu_temp battery wifi_quality #processes load_average cpu_count cpu_freq memory #swap #disk #time_utc date time"
tmux_left=" #logo #distro release #arch session"
tmux_right=" #network #disk_io #custom #entropy raid reboot_required updates_available #apport #services #mail #users uptime #ec2_cost #rcs_cost #fan_speed #cpu_temp #battery #wifi_quality #processes load_average cpu_count cpu_freq memory #swap #disk #whoami #hostname ip_address #time_utc date time"
|
Dockerfile
開発環境を構築するDockerfileからbyobuまわりの抜粋です。
~/docker_apps/phusion/Dockerfile RUN apt-get install -y emacs24-nox emacs24-el git byobu wget curl unzip
RUN mkdir -p /root/.byobu
RUN mkdir -p /root/tmp ADD dotfiles /root/
|
Dockerfileを修正したらタグのバージョンをあげてビルドします。latestのタグも付け替えます
$ docker build -t masato/baseimage:1.2 . $ docker tag masato/baseimage:1.2 masato/baseimage:latest
|
latestのイメージを使ってコンテナを起動します。
$ docker run -i -t --rm --name dart -v ~/docker_apps/workspaces/dart_apps:/root/dart_apps \ masato/baseimage /sbin/my_init /bin/bash
|
コンテナから設定のバックポート
コンテナはdisposableなので、コンテナで作業していて気に入った設定ができたら、Dockerホストへコピーします。
$ cd ~/docker_apps/phusion $ sudo docker cp dart:/root/.byobu/backend ./dotfiles/.byobu/ $ sudo docker cp dart:/root/.byobu/status ./dotfiles/.byobu/ $ sudo docker cp dart:/root/.byobu/keybindings.tmux ./dotfiles/.byobu/ $ sudo chown -R {ユーザー}:{グループ} ./dotfiles/.byobu/
|
git commit
最後にDockerfileをgit commit
してリモートリポジトリにpushします。
$ git add . $ git commit -m 'my favorite dotfiles' $ git push
|