Docker 从零入门:用这3个命令就能跑起你的第一个容器
告别“我电脑上能跑”,5分钟体验容器化部署
作为一名开发者,你一定遇到过这样的场景:代码在自己电脑上跑得好好的,到同事那里就各种报错;或者好不容易部署到服务器上,却因为环境版本不一致折腾一整天。
Docker 的出现就是为了解决这个问题。它就像一个轻量级的数字集装箱,把应用和它需要的所有依赖(库、配置、环境)一起打包,确保在任何支持 Docker 的平台上都能稳定运行。
什么是 Docker 镜像和容器?
在开始动手之前,先理解两个核心概念:
- 镜像:相当于一个只读的模板,包含了运行应用所需的一切(代码、运行时、库、环境变量等)。就像一套房子的设计图纸。
- 容器:镜像的运行实例,就像根据图纸盖出来的房子。每个容器相互隔离,可以独立启动、停止、删除。

第 0 步:安装 Docker
首先确保你的电脑上安装了 Docker。
- Windows / macOS:推荐安装 Docker Desktop,有图形界面,操作方便。
- Linux(Ubuntu):可以用包管理器安装:
bash
sudo apt update
sudo apt install docker.io
sudo systemctl enable --now docker
安装完成后,打开终端输入以下命令验证是否成功:
bash
docker --version
看到版本号就说明安装好了。
核心 3 个命令,跑起第一个容器
第一个命令:docker run——启动容器
这是最核心的命令,创建并启动一个容器。我们先从官方提供的示例镜像开始:
bash
docker run hello-world
执行这条命令后,Docker 会自动从 Docker Hub(镜像仓库)拉取 hello-world 镜像,然后启动一个容器。如果看到 "Hello from Docker!" 的欢迎信息,恭喜你,你的第一个 Docker 容器已经成功运行了。
注意:如果本地没有这个镜像,Docker 会自动下载,这一点非常方便。
现在我们来玩点更实际的——在容器里运行一个 Nginx 网页服务器。
bash
docker run -d -p 8080:80 --name my-nginx nginx
这条命令涉及几个关键参数:
- -d:后台运行(detached模式),这样终端不会被卡住。
- -p 8080:80:端口映射。把宿主机的 8080 端口映射到容器内部的 80 端口。这样你访问本机的 8080 端口,实际上访问的是容器里 Nginx 的服务。
- --name my-nginx:给容器起个名字,方便后续管理。
- nginx:镜像名称。如果本地没有,Docker 会自动从 Docker Hub 拉取。
执行完后,打开浏览器访问 http://localhost:8080,你应该能看到 Nginx 的欢迎页面。你的第一个真正提供服务的容器就跑起来了!

第二个命令:docker ps——查看容器状态
容器启动后,怎么知道它在不在运行呢?用 docker ps。
bash
docker ps
这会列出所有正在运行的容器,包括容器 ID、名称、使用的镜像、状态、端口映射等信息。
如果想看所有容器(包括已停止的),加上 -a 参数:
bash
docker ps -a
第三个命令:docker stop 和 docker rm——停止和删除容器
容器用完了,怎么清理?先停止再删除。
停止容器(容器还在,只是状态变成 Exited):
bash
docker stop my-nginx
删除容器(彻底移除):
bash
docker rm my-nginx
如果想强制删除正在运行的容器,可以加 -f 参数。
实战:跑一个你自己的 Python 应用
光跑现成的镜像不够过瘾,我们来打包自己的应用。假设你有一个简单的 Python Flask 应用,根目录下有 app.py 和 requirements.txt。
创建一个名为 Dockerfile 的文件(没有后缀名),内容如下:
dockerfile
# 选择基础镜像
FROM python:3.9-slim
# 设置工作目录
WORKDIR /app
# 复制依赖文件并安装
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
# 复制所有代码
COPY . .
# 声明容器监听端口
EXPOSE 5000
# 启动命令
CMD ["python", "app.py"]
然后在终端执行:
bash
# 构建镜像(注意末尾的 . 表示当前目录)
docker build -t my-python-app .
# 运行容器
docker run -d -p 5000:5000 --name my-app my-python-app
打开浏览器访问 http://localhost:5000,就能看到你的应用在容器里跑起来了。

总结:3 个命令就够了
回顾一下今天用到的三个核心命令:
docker run [选项]镜像名—— 创建并启动一个新容器。这是最常用的命令,如果本地没有指定的镜像,Docker 会自动从仓库拉取。docker ps [-a]—— 查看容器列表。不加参数时只显示正在运行的容器,加上-a参数则可以查看所有容器(包括已经停止的)。docker stop/rm容器名—— 停止或删除容器。stop让容器停止运行(状态变为 Exited),rm则将容器彻底移除。如果要删除正在运行的容器,需要加-f参数强制删除。
从零到跑起第一个容器,真的只需要这三板斧。剩下的诸如 docker exec(进入容器内部)、docker logs(查看日志)等命令,都是在实际使用中逐步掌握的。容器化的大门已经打开,快去试试吧!
更多推荐
所有评论(0)