LoginSignup
0
1

More than 5 years have passed since last update.

boot2dockerをCloudAtCostで使う

Last updated at Posted at 2015-12-13

インストール

dd if=boot2docker.iso of=/dev/sda bs=1M;sync;sync;sync;reboot

データ保存領域

fdisk /dev/sda
  • 500Mのswapと、残りをsda3に割り当て
mkswap /dev/sda2
mkfs.ext4 -L boot2docker-data /dev/sda3
  • reboot

/var/lib/boot2docker/bootlocal.sh

  • OS起動時に自動実行されるスクリプト。
/var/lib/boot2docker/bootlocal.sh
ip addr add 192.168.58.220/24 dev eth0
ip route add default via 192.168.58.1
echo nameserver 8.8.8.8 >> /etc/resolv.conf

echo 'TZ="JST-9"' > /etc/sysconfig/timezone

mount -o bind /var/lib/boot2docker/home /home/docker
sh /home/docker/bin/iptables.sh
sh /home/docker/bin/startup.sh

必要なファイルを設置

  • /var/lib/boot2docker/.ssh にdockerユーザ用鍵を置く

sshd設定

/mnt/sda3/var/lib/boot2docker/ssh/sshd_config
UseDNS no
Port 23421
PasswordAuthentication no
PermitRootLogin no
  • パスワード認証を無効にして、sshポートを適当に変える。
  • シンボリックリンクは以下に設定されている。
    • /usr/local/etc/ssh -> /var/lib/boot2docker/ssh/

/home/dockerの永続化

mkdir -p /var/lib/boot2docker/home
chown -R docker:staff /var/lib/boot2docker/home
mount -o bind /var/lib/boot2docker/home /home/docker

iptables

/home/docker/bin/iptables.sh
#!/bin/sh

# iptables 初期化
iptables -F INPUT
iptables -F OUTPUT
iptables -F FORWARD

# 受信を破棄 / 送信を許可 / 通過を拒否
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP

# 自ホストからのアクセスをすべて許可
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT

# 内部から行ったアクセスに対する外部からの返答アクセスを許可
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

# ping(icmp)許可
iptables -I INPUT -p icmp --icmp-type 0 -j ACCEPT
iptables -I INPUT -p icmp --icmp-type 8 -j ACCEPT

#-----------
# ポート開放
#-----------
for i in 22 80
do
  iptables -A INPUT -p tcp --dport $i -j ACCEPT
done

# 上記のルールにマッチしなかったアクセスはログを記録して破棄
iptables -A INPUT -m limit --limit 1/s -j LOG --log-prefix '[IPTABLES INPUT] : '
iptables -A INPUT -j DROP
iptables -A FORWARD -m limit --limit 1/s -j LOG --log-prefix '[IPTABLES FORWARD] : '
iptables -A FORWARD -j DROP

PATHの追加

/home/docker/.profile
export PATH=$PATH:~/bin/

X転送可能にする

パッケージダウンロード
BASE=http://tinycorelinux.net/6.x/x86_64/tcz
for i in \
  Xorg-7.7-bin libXinerama libGL libXcursor libXext libX11 libxcb libXau libXdmcp libXdamage libXfixes libxshmfence libXxf86vm libdrm libXrender fontconfig freetype libSM libICE harfbuzz libpng \
  libXmu Xorg-fonts
do
  wget $BASE/$i.tcz
  tce-load -i $i.tcz
done
/usr/local/etc/ssh/sshd_config
X11Forwarding yes
X11DisplayOffset 10
0
1
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
0
1