Docker_boot2docker_port_foward

OS X 10.8 公式サポートで話題の Docker

これをもとにとりあえず docker client を準備,
docker server を建てた。

mac の localhost に telnet 11211 したら memcached につながるようにしたい

https://www.docker.io/learn/dockerfile/level2/ これをもとに Dockerfile を作った。 ここでは ubuntu を元にした vimtaku/memcached_1 とした。

Dockefile

# Memcached
#
# VERSION       2.2

# use the ubuntu base image provided by dotCloud
FROM ubuntu

MAINTAINER Victor Coisne victor.coisne@dotcloud.com

# make sure the package repository is up to date
RUN echo "deb http://archive.ubuntu.com/ubuntu precise main universe" > /etc/apt/sources.list
RUN apt-get update

# install memcached
RUN apt-get install -y memcached

# Launch memcached when launching the container
ENTRYPOINT ["memcached"]

# run memcached as the daemon user
USER daemon

# expose memcached port
EXPOSE 11211
docker build -t vimtaku/memcached_1 - < Dockerfile

これでとりあえず memcached な image を作れる。

docker run -p 11211:11211 vimtaku/memcached_1

これで boot2docker -> ubuntu が立つ。

追記(2014/02/13)

成功法っぽいのを発見した。
恥ずかしながら ssh port fowarding が -L オプションで できるっていうのを このブログ記事 で初めて知った。

まだ、やってないけど

ssh -L 11211:localhost:11211 -p 2022 root@localhost

とかすれば、 ssh port fowarding できるので、以下の手順は不要。

追記終わり。

とりあえず確認するには

とりあえず確認するには
boot2docker ssh して ifconfig | grep -A4 docker0 すると
172…. のような IP が見える。
そこに対して telnet すると ちゃんと疎通できてる。
ちなみに telnet localhost 11211 しても同様。

あとは mac -> boot2docker に 11211 疎通できればよい。
ぐぐったら http://fogstack.wordpress.com/2014/02/09/docker-on-osx-port-forwarding/ の記事が見つかったのでほぼこれの通りに、

boot2docker down
したあと
VBoxManage modifyvm "boot2docker-vm" --natpf1 "guestmemcached,tcp,,11211,,11211"
boot2docker up
docker run -d -p 11211:11211 vimtaku/memcached_1

これで mac から telnet localhost 11211 で行けた。たぶん。

このエントリーをはてなブックマークに追加