如何在Docker容器内运行一个应用程序?

要在 Docker 容器内运行一个应用程序,我们需要:

  1. 拉取一个合适的镜像,该镜像中需要包含我们要运行的应用程序。
  2. 运行容器,映射端口并设置必要的环境变量等。
  3. 在容器内启动应用程序。

以在容器内运行一个 Python Flask 应用为例:

  1. 拉取 Python 镜像:
docker pull python:3.7-slim
  1. 编写 Flask 应用 app.py:
from flask import Flask
app = Flask(__name__)

@app.route('/')
def hello():
    return 'Hello World!'

if __name__ == '__main__':
    app.run(host='0.0.0.0')
  1. 在容器内运行 Flask 应用:
docker run -p 5000:5000 -v "$PWD":/app -w /app python:3.7-slim python app.py

选项解析:

  • -p 5000:5000:映射容器和宿主机的 5000 端口。
  • -v “$PWD”:/app:挂载当前目录到容器的 /app 目录。
  • -w /app:指定工作目录为 /app。
  • python app.py:运行 app.py 应用。

在浏览器访问 http://localhost:5000 即可看到 Hello World!。

所以,要在 Docker 容器运行应用,主要步骤是:

  1. 拉取一个包含应用环境的镜像。
  2. 运行容器,设置端口映射、挂载目录等以支持应用运行。
  3. 在容器内启动应用。
    会在 Docker 容器内运行应用,可以让我们更强大和灵活地部署应用。Docker 容器为应用提供了隔离的运行环境,在不影响主机的前提下可以放心运行各种应用。