【问题标题】:How to automate process of starting app inside docker container如何自动化在 docker 容器内启动应用程序的过程
【发布时间】:2021-02-01 00:06:11
【问题描述】:

我正在使用 Docker 开发一个 Flask REST API,我想自动化启动应用程序的整个过程。

整个启动过程涉及(在Windows上):

  1. 打开 cmd 提示符

  2. 输入docker exec -it container_name bash

  3. 在容器内,运行python main.py

有没有办法创建一个 bash 脚本来运行这 3 个命令并保持容器窗口打开,以便我可以查看 API 日志(并运行其他命令)?

谢谢。

【问题讨论】:

  • 您应该能够在后台运行容器并使用docker logs检索日志。
  • @Camelid 我更新了帖子,因为我需要在容器内运行其他命令(我知道容器的理念,一个容器应该做一件事)
  • 您应该能够将图像的主要命令设为CMD python main.py;您不需要在正常操作中将docker exec 放入容器中。你想在同一个容器中做的另一件事是什么?

标签: bash docker flask automation


【解决方案1】:

你可以使用这样的东西

#!/usr/bin/env bash
docker run -it container_name python:3 python main.py

【讨论】:

  • 窗口没有保持打开状态。
【解决方案2】:

你可以试试这个:

docker exec -it container_name bash -c 'python main.py; read -p"Enter to close window"'

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多