在容器里安装新软件后,必须commit后,再run来添加端口么,这要麻烦死了啊:(
认证0级讲师
実行時にポートをマップするために-pを使用するのがまだ面倒な場合は、Dockerfileに記述することができます
-p
実行コマンドをシェルファイルとして記述し、このファイルを直接実行できます。毎回書く必要はありません。
あなたの使い方はあまり正しくないかもしれません
一般に、コンテナーは 1 つのサービスのみを実行する必要があります。この場合、コンテナーに新しいソフトウェアをインストールしてコミットするのは奇妙に思えます
基本イメージを作成すると、他のすべてはこの基本イメージに基づいて構築されます
その後、docker-compose と dockerfile を使用すると、基本的にコンテナーとイメージを簡単に管理できるようになります (同じ dockerfile の複数のビルドがキャッシュされ、イメージになります)。そのため、ベース イメージで使用できます。各 dockerfile にさらに dockerfile を書き込みます必要なサービスを 1 つだけインストールします
スクリーンショットは私の docker-compose.yml です。実行すると、1 つのサービスと 1 つのコンテナーであることがはっきりとわかります
実行時にポートをマップするために
-p
を使用するのがまだ面倒な場合は、Dockerfileに記述することができます実行コマンドをシェルファイルとして記述し、このファイルを直接実行できます。毎回書く必要はありません。
あなたの使い方はあまり正しくないかもしれません
一般に、コンテナーは 1 つのサービスのみを実行する必要があります。この場合、コンテナーに新しいソフトウェアをインストールしてコミットするのは奇妙に思えます
基本イメージを作成すると、他のすべてはこの基本イメージに基づいて構築されます
その後、docker-compose と dockerfile を使用すると、基本的にコンテナーとイメージを簡単に管理できるようになります (同じ dockerfile の複数のビルドがキャッシュされ、イメージになります)。そのため、ベース イメージで使用できます。各 dockerfile にさらに dockerfile を書き込みます必要なサービスを 1 つだけインストールします
スクリーンショットは私の docker-compose.yml です。実行すると、1 つのサービスと 1 つのコンテナーであることがはっきりとわかります