Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124

Docker 已经成为现代开发的标配。本文用最直白的方式,带你从零掌握 Docker,包括核心概念、常用命令和实战案例。
Docker 已经成为现代开发的标配,但很多新手还是会被各种概念搞晕。今天我用最直白的方式,带你从零掌握 Docker。
简单来说,Docker 就是一种”容器化”技术。它能把你的应用和运行环境一起打包成一个独立的”盒子”,这个盒子到哪里都能跑。
类比:Docker 就像是”集装箱”。无论你是运水果还是运电脑,用的都是同一种箱子。同理,无论你开发的是网站还是 AI 模型,用的都是同一种 Docker 容器。
镜像就是模板,可以理解为”class”。你不能直接运行一个 class,得先实例化成 object。
# 拉取一个现成的镜像
docker pull ubuntu:20.04
容器就是镜像的实例,可以理解为一个”running object”。
# 运行一个容器
docker run -it ubuntu:20.04 /bin/bash
Dockerfile 是用来构建镜像的”配方”。
FROM ubuntu:20.04
RUN apt-get update
RUN apt-get install -y python3
COPY ./app /app
WORKDIR /app
CMD ["python3", "app.py"]
# 查看运行中的容器
docker ps
# 查看所有容器(包括已停止的)
docker ps -a
# 构建镜像
docker build -t myapp:1.0 .
# 运行容器
docker run -d -p 8080:80 myapp:1.0
# 停止容器
docker stop container_id
# 删除容器
docker rm container_id
mkdir myapp && cd myapp
touch app.py
touch Dockerfile
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello():
return 'Hello from Docker!'
if __name__ == '__main__':
app.run(host='0.0.0.0', port=80)
FROM python:3.9
WORKDIR /app
COPY requirements.txt .
RUN pip install -r requirements.txt
COPY . .
CMD ["python", "app.py"]
docker build -t myapp .
docker run -p 5000:5000 myapp
现在打开浏览器访问 http://localhost:5000,就能看到”Hello from Docker!”了。
Docker 是现代开发者的必备技能。这篇文章只是入门,真正的精髓在于实践。建议你把一个自己的小项目 Docker 化,感受一下它的威力。