Version 7 (modified by yuna, 10 years ago) (diff) |
---|
Docker
個人的なメモなので、Dockerを勉強したい場合、ここより他のサイトを見ることをお勧めします。
Ubuntuで最新のDockerを使う
ここみる http://www.ubuntuupdates.org/ppa/docker
設定について
http_proxyやDNSの設定は、/etc/default/dockerでやる。http_proxyは設定しておかないとProxy環境ではdocker search/pullが使えない。 DNSをきちんと設定しておかないと、サーバプロセスが遅くなることがあるので注意
Dockerfile
Dockerイメージを作るファイル
- COPYは使わずADDを使う。ADDの方がURLを指定したり、アーカイブを自動解凍したり高機能。
- ENTRYPOINT/CMDは引数無しで実行したときのデフォルトの実行コマンド。CMDは上書き可能でENTRYPOINTは上書きできない?(要確認)
- 汎用的なイメージを作りたい場合はCMD。アプリケーションコンテナとしてユーザに勝手な操作をさせないならENTRYPOINT
ネットワーク
DockerfileにEXPOSEを記述して、公開するポートを指定。もしくは、--expose <port>でポートを公開。
Dockerのホスト以外からアクセスする場合は、--port <ホストのポート>:<コンテナのポート>オプションでホストのポートを使って公開。例えば、SSHのポートをホストの2022番でアクセスできるようにするには、下記のようになる。
# docker run -it --name foo --expose 22 -p 2022:22 ubuntu /bin/bash
イメージ初期化のChips
Tipsですね。ポテトチップスではありません。
- expect: コマンドラインでインタラクティブな設定を行う場合利用
- supervisord: Dockerではsystemdが使えないので、supervisordなどでデーモンを起動するとよい