是的,Docker 完全可以用来运行单个程序。实际上,这是 Docker 的一个常见用途 - 将应用程序及其依赖项打包到一个独立的容器中运行。
直接运行单个命令:
docker run <镜像名> <命令>
例如运行一个简单的 Python 脚本:
docker run python:3.9 python -c "print('Hello from Docker!')"
运行容器中的默认程序: 许多 Docker 镜像已经配置了默认要运行的程序,只需:
docker run <镜像名>
例如运行 Nginx:
docker run -p 8080:80 nginx
对于长期运行的单程序容器,最佳实践是:
创建 Dockerfile:
FROM python:3.9
COPY my_script.py /app/
WORKDIR /app
CMD ["python", "my_script.py"]
构建镜像:
docker build -t my-app .
运行容器:
docker run -d --name my-running-app my-app
--rm
参数自动清理容器:
docker run --rm python:3.9 python -c "print('Done')"
-it
参数:
docker run -it python:3.9 bash
Docker 是运行单个程序的理想选择,特别是当你需要确保程序在不同环境中行为一致时。