タグ

ブックマーク / www.ianlewis.org (4)

  • 小さいDockerイメージを作ろう Part #2

    この記事は小さいDockerイメージの作成について第2版目の記事。前回の記事で小さいDockerイメージの作り方について書きましたが、その方法を使った場合、どのくらい小さくできるかは限られている。イメージに追加するレイヤーを小さくする方法を使ったんですが、その方法が使えない場合がある。Dockerfileを実行するコマンドを特定な順番で実行しなければならない場合はどうすることもできない。例えば、ある中間ステップでファイルを追加しなければならない場合: 最初のRUNコマンドで何かの処理をしてから、ファイルを追加して、2番目のRUNコマンドでまた処理が必要な場合は、Dockerは一行一行にイメージのレイヤーを作ってしまう。 大きいイメージを継承する場合も、イメージを小さくすることができない。イメージを継承しているので、この場合でもその大きいイメージレイヤーはもう作らてしまっているので、Dock

  • (より)小さいDockerイメージを作ろう

    最近、コンテナ技術が流行っていていろなツールを興味深く触っている。その中の一番人気のはみんな大好きなDockerDockerdocker runでコンテナの実行環境を簡単に作ってくれる上、docker build でコンテナのイメージの構築も簡単にできる。Dockerのイメージ構築はDockerfileというMakefileのようなファイルを元にその中のコマンドを順番に実行して構築していくもの。 例えば、 FROM debian:jessie RUN apt-get update RUN apt-get install -y python RUN mkdir -p /data VOLUME ["/data"] WORKDIR /data EXPOSE 8000 CMD [ "python", "-m", "SimpleHTTPServer", "8000" ]

  • Fabric デプロイツールのPythonicな書き方 - Ian Lewis

    Fabric は指定したコマンドを各ホストで実行する実行モデルです。この場合は特にホストの指定がなかったので、全部ローカルで、一回実行することになります。 これは結構つまんないので、当の例を見ましょう。これは最近、仕事で作ったコマンドです。 nginx サーバーでメンテ画面を出すようなコマンドです。 各ロードバランサーで実行します。 from fabric.api import run, cd, abort, require, sudo, env from fabric.decorators import runs_once, roles from fabric.contrib.console import confirm ... @roles('loadbalancers') def start_maintenance(): """ メンテナンス画面に切り替える """ _produc

  • Tag: pip

  • 1