Docker
MacOS上のでDocker
①container <-> ② LinuxVM <-> OSX
のようになってるようだ。①はdocker psやdocker port web などで調べられる。②はdocker-machine ls などで調べられる。
簡単なWebサーバ
以下のようなDockerfileを作る。
FROM nginx COPY some_contemts /usr/share/nginx/html
しかるのちに
$ docker build -t container_name . $ docker run -d -p 8080:80 container_name
これでnginxがsome_contents以下をサーブし始めるので、 Linux_VMのIP:8080にブラウザからアクセスすればOk
簡単なPythonベースのWebサーバ
フレームワークはとりあえずJunoあたりでいきますか。。。 下記のようなindex.pyとかを作って。。
#!/usr/bin/env python # encoding:utf-8 from juno import * @route('/') def index(web): return 'Hello, Juno!' @route('/hello') def index(web): return 'Hello!' run()
Dockerfileは下記。
FROM python:2.7 ADD . /code WORKDIR /code RUN pip install SQLAlchemy Jinja2 Mako Werkzeug RUN easy_install juno CMD python ./index.py
なんかjunoはpipだとこけた。
$ docker build -t juno . $ docker run -d -p 8000:8000 juno
junoのデフォルトポートは8000みたい。 http://myserver:8000/ でアクセスできた。404.htmlがないとかfaviconがないとかいろいろ言われるがまあそれは必要に応じて。
docker-compose
複数コンテナをまとめてymlファイルで管理する。開始、終了は下記でできる。
$ docker-compose up -d $ docker-compose stop