1. nginx 官方镜像(最常用)
nginx 是轻量的 Web 服务器,适合学习端口映射、静态页面部署:
# 拉取官方 nginx 镜像 docker pull nginx:alpine # alpine 版本体积更小(约20MB) # 启动容器(映射 8080 端口到容器 80 端口) docker run -d -p 8080:80 --name my-nginx nginx:alpine # 验证访问:浏览器打开 http://localhost:8080,能看到 nginx 欢迎页
2. httpd 官方镜像(Apache 轻量版)
Apache 的极简版本,用法和 nginx 类似:
# 拉取镜像 docker pull httpd:alpine # 启动容器 docker run -d -p 8081:80 --name my-httpd httpd:alpine # 验证访问:http://localhost:8081
3. 手动构建(复刻 training/webapp 功能)
# 创建临时目录并构建 mkdir C:\temp\flask-app && cd C:\temp\flask-app # 一键生成 Dockerfile 和 app.py 并构建 @" FROM python:2.7-slim WORKDIR /app COPY app.py . RUN pip install flask redis EXPOSE 5000 CMD ["python", "app.py"] "@ > Dockerfile @" from flask import Flask app = Flask(__name__) @app.route('/') def hello(): return "Hello from Docker Flask! (复刻 training/webapp)" if __name__ == '__main__': app.run(host='0.0.0.0') "@ > app.py # 构建镜像 docker build -t my-webapp:latest . # 启动容器 docker run -d -p 5000:5000 my-webapp:latest
4. mysql + phpmyadmin(数据库管理 Web 示例):
# 启动 mysql docker run -d -e MYSQL_ROOT_PASSWORD=123456 --name mysql-db mysql:5.7 # 启动 phpmyadmin(关联 mysql) docker run -d -p 8083:80 --link mysql-db:db phpmyadmin/phpmyadmin:latest # 访问:http://localhost:8083(用户名 root,密码 123456)