为出海而探索,为选择多想一步。CROSSBORDER GEEK / K8N.COM
K8N跨境极客CrossBorder Geek

教程

Docker 入门指南:容器、镜像与常用命令

Docker 是什么:一次封装,随处运行

部署一个应用,最烦的是环境不一致:本地好好的,上服务器就报错。Docker 把应用和它依赖的运行环境(系统库、运行时、配置文件)一起打包进镜像(Image),运行起来就是容器(Container)——同一套代码,在笔记本、、云主机上跑出来一模一样。

容器不是虚拟机:虚拟机模拟整台电脑,容器只隔离进程和文件系统,共享宿主内核,因此更轻、启动更快(秒级)。

三个必须先懂的概念

抽象集装箱堆叠插画 AI 操作示意图·以官网实际界面为准

概念 比喻 说明
镜像 Image 安装包 只读模板,包含应用与依赖,可用 Dockerfile 构建
容器 Container 运行中的程序 镜像的运行实例,可启停、可删除、可进入
仓库 Registry 应用商店 存放镜像的地方,最常用的是 Docker Hub

常用命令:这一组够你日常用了

构建-运行-清理三步流程图 AI 操作示意图·以官网实际界面为准

1. 拉取与运行

docker pull nginx            # 从 Docker Hub 拉取镜像
docker run -d -p 8080:80 --name web nginx

-d 后台运行,-p 8080:80 把宿主 8080 端口映射到容器 80 端口,--name 给容器起名。跑起来后,浏览器访问 http://服务器IP:8080 就能看到 Nginx 默认页。

2. 查看与管理

docker ps                    # 查看运行中的容器
docker ps -a                 # 含已停止的容器
docker logs web              # 看容器日志,排错第一步
docker exec -it web bash     # 进入容器内部
docker stop web              # 停止
docker start web             # 再次启动
docker rm web                # 删除容器

3. 镜像管理

docker images                # 列出本地镜像
docker rmi nginx             # 删除镜像
docker system prune          # 清理未使用的镜像/容器/网络

4. 构建自己的镜像 写一个 Dockerfile,然后:

docker build -t my-app .
docker run -d -p 3000:3000 my-app

一个最小实战:Nginx 容器跑起来

集装箱码头实拍

  1. docker pull nginx 拉镜像;
  2. docker run -d -p 8080:80 --name web nginx 起容器;
  3. docker ps 确认状态是 Up;
  4. docker logs web 看启动日志;
  5. 访问 http://服务器IP:8080 验证;
  6. docker stop web && docker rm web 清理。

这套流程跑通,你就已经入门了。

Dockerfile:你的镜像说明书

最简示例(字段为通用指令,参数以官方文档为准):

FROM nginx:alpine        # 基础镜像
COPY index.html /usr/share/nginx/html/   # 复制文件进镜像
EXPOSE 80                # 声明暴露端口

更多指令(RUN、CMD、ENV、WORKDIR)按需从官方文档查阅。镜像构建好之后,配合 docker compose(一个 YAML 文件定义多个容器)可以一键拉起整套服务。

实用清单

场景 命令
拉镜像 docker pull 镜像名
跑容器 docker run -d -p 端口映射 --name 名字 镜像名
看日志 docker logs 容器名
进容器 docker exec -it 容器名 bash
停/删 docker stop 名字 && docker rm 名字
查镜像 docker images
构建 docker build -t 名字 .

常见问题

1. 容器删了数据会丢吗? 会。容器是临时的,删除后内部写的数据就没了。要持久化用卷(-v)挂载宿主机目录,把数据库、上传文件放卷里。

2. 为什么推荐官方镜像? 官方镜像经过维护和安全扫描,镜像仓库里的第三方镜像可能包含恶意内容或过期依赖。用 docker pull 前先确认来源。

3. 容器和 VPS 上直接装有什么区别? 容器多了隔离与可移植性,坏了一个容器不影响宿主上其他服务,迁移时打包走镜像即可;代价是多一层抽象,调试复杂问题(网络、性能)时更绕。

4. 一台机器能跑多少个容器? 取决于资源。容器共享宿主内核,只要 CPU/内存/磁盘够用就行,这也是容器比虚拟机省资源的原因。

官方资料

资料核对日期:2026-10-26

最近一周热门文章

按近 7 天访问热度排序,热度积累前优先展示新文章。

当前栏目最新文章

教程 · 继续阅读同栏目的新内容

一起交流

0 条留言

还没有留言,来分享你的想法吧。

LEAVE A NOTE

你的经验,也很重要。

无需注册或登录。请勿公开邮箱密码、证件、银行卡号或其他敏感信息。

更多阅读
K8N · CrossBorder Geek

给出海玩家、独立开发者、跨境博主与外贸人的选型笔记。

关于这个博客 ↗