
チュートリアルに従うために、debian:wheezyでDockerイメージを作成しました。この画像は多くのコマンドをサポートしていないので、どのように役立つのだろうかと思います。たとえば、
"nc"だけでなく(リストが長いかもしれません)vi、ps、apt、wget、dpkg ...
私はnetcatツールをインストールし、最終的にコンテナでこのスクリプトを実行する方法を探しています。
#!/bin/sh
printf "Logging Mailer has started.\n"
while true
do
MESSAGE=$(nc -l -p 33333)
printf "[Message]: %s\n" "$MESSAGE" > $1
sleep 1
done
もちろんこれはうまくいきません。より多くのコマンドをサポートするようにイメージを拡張する方法をご存知ですか?ありがとうございます。話題から抜け出さなかったらいいな
答え1
2つの問題があります。
- 優れたコンテナ基本イメージの鍵は、アプリケーションに必要なすべてを構築するための最小限ですが、実行可能な基盤を提供することです。
- 予想通り、Wheezy イメージには Wheezy 時代のパッケージが含まれています。
あなた〜する他のパッケージをインストールするために必要な必須要素を見つけます。 sodpkg
とapt-get
その両方が存在します。このapt
コマンドは Wheezy には存在しないため使用できません。 Wheezyはまだ関連していますがapt-get update
(画像にはインデックスがないため、サイズを減らすために)、次のコマンドを実行して追加のパッケージをインストールできますapt-get install ...
。ただし、Wheezyパッケージリポジトリはイメージ/etc/apt/sources.list
で利用できなくなるため、この方法は機能しなくなりました。内部参照の位置を取得します。
Wheezy イメージを修正する方法は、新しい用途には使用しないでくださいので説明しません。今それを使用する必要がありますdebian:stretch
。