Linux下Docker管理容器核心三步:安装Docker(清理旧版、配阿里云源、启用服务)、运行Nginx容器(拉镜像、端口映射、挂载数据)、用Compose编排多容器(YAML定义服务、一键启停)。

Linux 下用 Docker 管理容器,核心就三件事:装好 Docker、拉镜像跑容器、管好数据和网络。不依赖虚拟机,启动快、隔离好、部署稳,适合开发、测试和轻量生产环境。
安装 Docker(适配主流 Linux 发行版)
Ubuntu 和 CentOS 是最常用系统,安装步骤已标准化,关键点是清理旧版本、换国内源、启用服务:
- 先卸载可能冲突的旧包:
sudo apt-get remove docker docker-engine docker.io containerd runc(Ubuntu)或sudo yum remove docker*(CentOS) - 添加阿里云镜像源(国内加速必备):配置
/etc/apt/sources.list.d/docker.list指向https://mirrors.aliyun.com/docker-ce/linux/ubuntu/,再执行apt-get update - 安装并启动:
sudo apt-get install docker-ce docker-ce-cli containerd.io,然后sudo systemctl enable --now docker - 验证是否就绪:
docker version查客户端与服务端版本,docker run hello-world测试运行能力
快速部署一个可访问的服务容器
以 Nginx 为例,三步完成上线——拉镜像、启容器、映射端口:
- 拉取官方镜像:
docker pull nginx:alpine(推荐 alpine 版本,体积小、启动快) - 后台运行并映射 8080→80:
docker run -d --name myweb -p 8080:80 nginx:alpine - 检查状态:
docker ps看容器是否 UP,curl http://localhost:8080验证响应 - 如需自定义页面,可用
-v挂载本地 HTML 目录:-v $(pwd)/html:/usr/share/nginx/html
容器数据持久化与安全退出
容器默认是临时的,删掉就丢数据。数据库、日志、配置等必须落盘保存:
- 用命名卷存数据:
docker volume create nginx-data,再启动时挂载:-v nginx-data:/usr/share/nginx/html - 绑定主机目录更直观(适合开发):
-v /home/user/www:/usr/share/nginx/html:ro(:ro表示只读,增强安全性) - 停止容器别用
kill,用docker stop myweb让进程优雅退出;删除前确认已停:docker rm myweb - 清空所有已停止容器:
docker container prune,避免磁盘被虚悬容器占满
多容器协同:用 Docker Compose 编排 Web + DB
单个容器好管理,但真实应用常含前端、后端、数据库。Docker Compose 用一份 YAML 文件统一控制:
- 安装 Compose:
sudo curl -L "https://github.com/docker/compose/releases/download/v2.24.5/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose && sudo chmod +x /usr/local/bin/docker-compose - 写
docker-compose.yml(示例):
services:
web:
image: nginx:alpine
ports: ["8080:80"]
volumes: ["./html:/usr/share/nginx/html"]
db:
image: mysql:8
environment:
MYSQL_ROOT_PASSWORD: "123456"
volumes: ["mysql-data:/var/lib/mysql"]
volumes:
mysql-data:
- 一键启停:
docker-compose up -d后台启动,docker-compose down彻底清理(含网络和卷)










