LoginSignup
23
25

More than 5 years have passed since last update.

Dockerでdebianプラクティス

Last updated at Posted at 2014-05-22

諸元

とはいっても以下のサイトの情報をベースにまとめただけ。
http://d.hatena.ne.jp/mainyaa/20140203/p1
https://index.docker.io/u/flox/debian-openerp/

実績

一応、動作の確認はできました。
これの応用したものを後で出す予定。
ただ、ビルドで変なログがあるので、よくないことやってるかも(debian的に)。

やっていること

  • ベースイメージ
  • メンテナー
  • ミラー(CDNからどこでもミラー)
  • noninteractive
  • ロケール
  • --no-install-recommends の例示
  • git
  • キャッシュ削除

ベースイメージ

(セミ)オフィシャルから。

メンテナー

ちゃんと入れましょう。

ロケール

この設定でいいかは一寸微妙です。(そのままもってきてあるだけ)

noninteractive

ENVとRUN exportの差はちょっと微妙ですが、現在はここに。

ミラー(CDNからどこでもミラー)

Baseに合せて設定が必要。

--no-install-recommends の例示とキャッシュ削除

ここらへんはサイズ対策として必要。

git

これは後述。よく使うとおもうので、サンプルを兼ねて。

Dockerfile
FROM debian:wheezy
MAINTAINER My Name <MyAddress@example.com>

# mirror
RUN echo "deb http://cdn.debian.net/debian/ wheezy main contrib non-free" > /etc/apt/sources.list.d/mirror.jp.list
RUN echo "deb http://cdn.debian.net/debian/ wheezy-updates main contrib" >> /etc/apt/sources.list.d/mirror.jp.list
RUN /bin/rm /etc/apt/sources.list

RUN export DEBIAN_FRONTEND=noninteractive LANG
RUN apt-get update

# set locale
RUN apt-get install -y --no-install-recommends apt-utils locales

RUN echo en_US.UTF-8 UTF-8 > /etc/locale.gen
RUN locale-gen
RUN update-locale LANG=en_US.UTF-8

# sample
RUN apt-get install -y --no-install-recommends xxx

# apt package
# need for git
RUN apt-get install -y --no-install-recommends git
RUN apt-get install -y --no-install-recommends ca-certificates openssl

# clean up
RUN apt-get upgrade -y && apt-get clean && rm -rf /var/cache/apt/archives/* /var/lib/apt/lists/* 

# git clone
RUN git clone https://github.com/xxx/yyy.git

ENTRYPOINT "/bin/bash"

ちょっとハマった所

イメージ

最新はdebianでよい。
というか、debian:wheezyだと取得サイズがすごい小さいかわりにシェルをENDPOINTにできなかった。
たぶんサービスを稼動させてリリースするに良いようにしていると思われる。
細かい情報はリンク先にあると思う。

ミラーとの絡みがあるので、固定したいんだけどね。

ENDPOINT

上記イメージの影響で(エラーメッセージあった)、ENDPOINT [ "/bin/bash" ] で渡してうまく動かなかった。
調べた時は昔にパラメタ渡しタイプは1つでNGになるIssueがあったが、関係ないはず。

まあ、1つなのでサンプルに落ち着いた。

git

単純にgitだけだと、httpsアクセスに失敗してしまう。証明書とopensslが必要なんだが、必須パッケージじゃないんだなーと。

23
25
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
23
25