要在 Docker 容器内运行一个应用程序,我们需要:
- 拉取一个合适的镜像,该镜像中需要包含我们要运行的应用程序。
- 运行容器,映射端口并设置必要的环境变量等。
- 在容器内启动应用程序。
以在容器内运行一个 Python Flask 应用为例:
- 拉取 Python 镜像:
docker pull python:3.7-slim
- 编写 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')
- 在容器内运行 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 容器运行应用,主要步骤是:
- 拉取一个包含应用环境的镜像。
- 运行容器,设置端口映射、挂载目录等以支持应用运行。
- 在容器内启动应用。
会在 Docker 容器内运行应用,可以让我们更强大和灵活地部署应用。Docker 容器为应用提供了隔离的运行环境,在不影响主机的前提下可以放心运行各种应用。