ホームページ  >  に質問  >  本文

如何不通过Dockerfile从已有镜像构建新镜像

例如,我用docker hub的Debian官方镜像创建了一个容器,然后进入容器update了一番,然后又部署了一个nginx服务,并在rc.local里设置自启,之后退出容器并将该容器commit了一个新镜像A。之后我尝试从A镜像启动一个容器却发现启动失败了,docker run -ddocker ps里没有该容器,docker run -it后退出容器后容器随之也关闭了。请问这是什么原因呢?求解答谢谢。
Dockerfile用得还不是很应手。

大家讲道理大家讲道理2756日前669

全員に返信(2)返信します

  • 伊谢尔伦

    伊谢尔伦2017-04-26 09:03:33

    コンテナには実行するサービスが必要ですが、公式の推奨では、コンテナは 1 つのサービスのみを実行します

    すべての Dockerfile の後には CMD または ENTRYPOINT が続きます。イメージをバックグラウンドで実行したい場合は、run -d の後に永続的なコマンドまたはプログラムを実行してください

    返事
    0
  • 黄舟

    黄舟2017-04-26 09:03:33

    はい!ただし、nginx サービスはコンテナのフォアグラウンドで実行されます。システム サービスに追加しないでください

    返事
    0
  • キャンセル返事