Help us understand the problem. What is going on with this article?
「Alpine Linux で Docker イメージを劇的に小さくする」で、Alpine Linux ペースでの Docker イメージについて紹介しました。今回は、ngx_mruby を Alpine Linux ベースで、Docker イメージを構築する例を紹介します。 作成にあたっては、matsumoto-r/ngx_mruby の Dockerfile と、Docker オフィシャルの Nginx の Dockerfile を参考にしました。 Dockerfile ズバリ! Dockerfile は、このように書きました。以下で公開しています。 GitHub: https://github.com/asakaguchi/dockerfiles/tree/master/alpine-ngx_mruby Docker Hub: https://hub.docker.com/r/asa
Docker イメージを小さく作るテクニックって、いろいろありますよね。不要なファイルやディレクトリを削除したり、複数の RUN 命令をひとつにまとめたりなどなど。 ところが、ベースイメージに Alpine Linux を使う(FROM alpine とする)と、Docker イメージのサイズを 劇的に小さくできる ことがわかりました。 いままで、Docker イメージのサイズを小さくするために、ちまちまとやってきたことは、なんだったんだろうという感じです。まあ、それはそれで組み合わせて使いますが . . . なんとも . . . ねえ(笑) Alpine Linux とは Alpine Linux は、セキュアで軽量な Linux ディストリビューション musl libc と BusyBox をベースに構成されている 組込み系に適した Linux ディストリビューション パッケージ管理
昨日のエントリーの続きです。 mike-neck.hatenadiary.com Gradle万能派の僕には、納得がいかなかったので、最後までやってみることにしました。 切り捨てたこと まず、分散テストは何が目的なのか考えると、テスト結果をマージすることが目的なので、以下のことは切り捨てました。 dockerの外でコンパイルしたクラスファイルの共有(昨日のドハマリその2により、共有してもコンパイルしてしまうので諦めた) srcディレクトリーの共有(Javaファイルを生成するタスクがある場合はsrcディレクトリーの共有をすると、各コンテナがJavaファイル生成を行ってしまうので、諦めた) 【2015/10/20 12:19追記】 つまり、コンパイル結果を共有しても再コンパイルされるので、buildディレクトリーの共有は諦めました この結果、妥協するのは次の点です。 各コンテナでソースコード生
標記の件について、ここ2日間取り組んでいます。もちろん、ボランティアです。 元ネタはじょーたにさんに教えてもらったこのツイート。 JUnitの実行を各クラス毎に並列で実行して、かつそれぞれをDockerで実行してくれるようなものは無いかな..— たむたむ (@tamtam180) 2015, 10月 16 @johtani 複数台だと嬉しいけど単一マシンでもok。外部依存があるからdockerで隔離しないと並列実行ができないのです。— たむたむ (@tamtam180) 2015, 10月 16 これ、最初は簡単だろうと思ってたけど、とてつもなく難しいテーマです(未解決)。あまりに思い通りに行かないので、自殺したいレベル。 実装方針 分散してテストが実行できるように適度に振り分けたテストタスクを準備します。 テストクラスまでのコンパイルを行います。 project-root/build.g
groovyとDocker Remote APIでcontainerのIPアドレスを表示するには、以下のようなコードを実行します。 サンプルコード @Grab(group='org.apache.httpcomponents', module='httpclient', version='4.3.5') import org.apache.http.client.methods.* import org.apache.http.impl.client.* import org.apache.http.message.* import org.apache.http.auth.* import groovy.json.* def host = "192.168.1.215" // replace this def port = 4243 def containerId = "your-con
groovyとDocker Remote APIでDockerfileからイメージを作成するには、以下のようなコードを実行します。 サンプルコード @Grab(group='org.apache.httpcomponents', module='httpclient', version='4.3.5') import org.apache.http.client.methods.* import org.apache.http.impl.client.* import org.apache.http.entity.* import groovy.json.* // Dockerfileはstageディレクトリに配置する def ant = new AntBuilder() ant.tar(destfile:"dockerfile.tar", basedir:"./stage") def h
3. dockerって? • LinuxコンテナやUnionMountで実現するコンテナ型仮想化をいまどきの Git風に実装された管理ツール 3 カーネル空間 プ ロ セ ス プ ロ セ ス プ ロ セ ス カーネル空間 プ ロ セ ス プ ロ セ ス プ ロ セ ス プ ロ セ ス 非仮想化環境仮想コンテナ環境 カーネル空間カーネル空間 カーネル空間 プ ロ セ ス プ ロ セ ス プ ロ セ ス プ ロ セ ス 仮想マシン環境 Hypervisor 4. dockerのアーキテクチャ • dockerはあくまでも管理ツール • Linuxコンテナ自体が複数の技術から構成されている • 各コンポーネントごとに抽象化されているため、 様々な技術の組み合わせが可能 • 特にLinuxコンテナを便利に使えるように、コンテナのイメージの管理に 色々な配慮がされている • コンテナイメージを公開す
なにしろいま表題のような感じでいろいろ試してるんです。そうしたら、本当に38.9℃の熱を出して2日間寝込んでしまいました。 寝込んでいる間 Kindle Paperwhite で Manning の『 Gradle in Action 』を途中まで読みました。この作者の Benjamin Muschko さん、 Gradleware 社の方なんですが、なんと Docker のプラグインを書いています。 検索すると出てくるもう1本は build に特化したもので、 Muschko さんのは、うたい文句通り動けば Docker API の gradle クライアントです。ちなみに、僕のところではうたい文句通り動いていない部分があるので Groovy 勉強してパッチ見てもらいたいと思います…。 というわけで入れてみました。 Gradle 初めてなので、おかしなことやってるかもしれません。 Gra
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く