在云原生时代,Docker已成为标配。根据Stack Overflow的2023开发者调查,超过70%的开发者使用容器技术。 如果你是新手,不妨跟着这篇文章,一步步上手Docker,部署一个简单的Web应用。整个过程只需30分钟!
1. 什么是Docker?为什么它这么火?
Docker是一种轻量级的容器化平台,它允许你将应用及其依赖打包成一个"镜像"(Image),然后在任何支持Docker的环境中运行。简单说,它解决了"在我电脑上跑得好好的,为什么到服务器就出问题了?"的经典痛点。
-
优势一
:隔离性强,每个容器独立运行,不会互相干扰。
-
优势二
:镜像可复用,一次构建,到处运行。
-
优势三
:启动速度快,几秒钟就能上线应用。
想象一下:你用Docker部署一个Node.js应用,只需一个命令,就能让它在本地、云服务器甚至朋友的机器上完美运行。酷毙了!
2. 安装Docker:从零开始
首先,确保你的系统是Windows、macOS或Linux。访问Docker官网下载安装包。
步骤:
-
下载与安装
:选择对应平台的安装程序,一路Next即可。安装后,重启终端。
-
验证安装
:打开命令行,输入docker --version,看到版本号如"Docker version 24.0.7"就成功了!
-
运行Hello World
:输入docker run hello-world,Docker会拉取一个测试镜像并运行,输出欢迎信息。
如果遇到权限问题(Linux用户常见),运行sudo usermod -aG docker $USER并重启终端。
3. 动手实践:构建一个简单Web应用
我们用Python Flask创建一个"Hello World" Web应用,然后用Docker打包部署。
第一步:创建应用代码
新建一个文件夹myapp,里面创建app.py:
from flask import Flaskapp = Flask(__name__)
@app.route('/')def hello(): return '<h1>Hello, Docker World!</h1>'
if __name__ == '__main__': app.run(host='0.0.0.0', port=5000)
安装Flask:pip install flask。
本地运行:python app.py,浏览器访问http://localhost:5000,看到标题就OK!
第二步:编写Dockerfile
在myapp文件夹下创建Dockerfile(无扩展名):
# 使用Python官方镜像作为基础FROM python:3.9-slim
# 设置工作目录WORKDIR /app
# 复制requirements.txt(如果有)或直接安装FlaskRUN pip install flask
# 复制应用代码COPY . .
# 暴露端口EXPOSE 5000
# 运行应用CMD ["python", "app.py"]
第三步:构建与运行
-
构建镜像:docker build -t my-flask-app .(点表示当前目录)。
-
运行容器:docker run -p 5000:5000 my-flask-app(端口映射:主机5000到容器5000)。
浏览器访问http://localhost:5000,你的Docker化应用就上线了!
4. 进阶:推送镜像到Docker Hub
想分享你的镜像?注册Docker Hub账号,然后:
-
登录:docker login
-
打标签:docker tag my-flask-app yourusername/my-flask-app
-
推送:docker push yourusername/my-flask-app
现在,别人也能用docker pull yourusername/my-flask-app拉取你的镜像。团队协作从未如此简单!
结语:Docker,开启你的容器之旅
