Docker实例:安装Ubuntu、CentOS、Nginx
前言
Docker Hub提供大量官方基础镜像,无需手动搭建系统、Web环境,一行命令即可快速拉起Linux系统或Web服务容器。
一、前置准备
操作前需确认服务器/本地Docker环境已正常安装,执行校验命令:
bash
docker --version
若提示命令不存在,需先完成Docker Engine安装;国内环境建议提前配置镜像加速器,解决镜像拉取超时、速度缓慢问题。
二、通用镜像基础操作命令
1. 检索镜像
docker search可在线查询Docker Hub官方与第三方镜像,筛选STARS收藏、OFFICIAL官方标识:
bash
# 检索nginx镜像
docker search nginx
返回字段说明:NAME镜像名、DESCRIPTION描述、STARS收藏量、OFFICIAL是否官方镜像(优先选用)。
2. 拉取镜像
docker pull [镜像名:标签],不指定tag默认拉取latest最新版;指定版本可固定环境,避免自动更新带来兼容性问题。
bash
# 拉取最新版
docker pull ubuntu
# 指定18.04长期支持版
docker pull ubuntu:18.04
3. 查看本地缓存镜像
bash
docker images
字段释义:
- REPOSITORY:镜像仓库名称
- TAG:版本标签
- IMAGE ID:镜像唯一标识ID
- CREATED:构建时间
- SIZE:镜像占用磁盘大小
4. 后台创建并启动容器
核心参数说明:
-d:后台守护运行,不占用当前终端-it:交互式终端,用于系统类容器登录操作--name:自定义容器名称,便于后续管理-p 宿主机端口:容器端口:端口映射(Web服务必备)
bash
# 系统容器(交互式后台)
docker run -itd --name ubuntu-test ubuntu
# Web服务容器(端口映射)
docker run -d --name nginx-demo -p 8080:80 nginx
5. 进入运行中容器
推荐docker exec,退出不会停止容器:
bash
docker exec -it 容器名/容器ID /bin/bash
6. 查看运行容器
bash
# 仅展示正在运行容器
docker ps
# 展示所有容器(包含已停止)
docker ps -a
三、Ubuntu系统镜像完整实操
Ubuntu是Debian系主流Linux容器镜像,开发、测试环境使用频率极高。
- 查看官方镜像版本
Docker Hub地址:https://hub.docker.com/_/ubuntu,支持amd64、arm64等多架构,提供18.04、20.04、22.04等LTS稳定标签。 - 拉取镜像
bash
# 最新版
docker pull ubuntu:latest
# 指定18.04稳定版
docker pull ubuntu:18.04
- 启动后台Ubuntu容器
bash
docker run -itd --name ubuntu-demo ubuntu:18.04
- 进入容器内部操作
bash
docker exec -it ubuntu-demo /bin/bash
# 容器内可执行apt更新、安装软件
apt update && apt install curl
- 查看容器运行状态
bash
docker ps
四、CentOS系统镜像完整实操
CentOS基于RHEL源码编译,线上企业服务器常用发行版,主流镜像版本为centos7。
- 官方镜像地址:https://hub.docker.com/_/centos,支持centos7、centos-stream系列标签。
- 拉取指定CentOS7镜像
bash
docker pull centos:centos7
- 创建后台CentOS容器
bash
docker run -itd --name centos-demo centos:centos7
- 登录容器终端
bash
docker exec -it centos-demo /bin/bash
# 容器内yum包管理器操作
yum install net-tools
- 校验容器运行:
bash
docker ps
五、Nginx Web服务镜像完整实操
Nginx官方镜像开箱即用,无需手动编译、配置环境,仅需端口映射即可外部访问网页服务。
- 检索Nginx镜像
bash
docker search nginx
- 拉取官方Nginx镜像
bash
docker pull nginx:latest
- 带端口映射启动容器
bash
# 将宿主机8080映射容器内部80端口
docker run -d --name nginx-web -p 8080:80 nginx
- 查看端口映射关系
bash
docker port nginx-web
- 访问验证
服务器公网IP:8080 或本地localhost:8080,打开浏览器可见Nginx默认欢迎页面。 - 进入容器修改首页(拓展操作)
bash
docker exec -it nginx-web /bin/bash
# 修改默认页面
echo "<h1>Docker部署Nginx测试</h1>" > /usr/share/nginx/html/index.html
六、Ubuntu与CentOS容器核心区别
- 包管理器:Ubuntu使用
apt,CentOS7使用yum; - 系统生态:Ubuntu适配开发环境,CentOS偏向生产稳定服务器;
- 镜像体积:Ubuntu镜像压缩包更小,资源占用更低;
- 命令差异:系统更新、软件安装指令完全不通用,容器内操作需对应发行版命令。
七、实操常见踩坑点
- 拉取镜像缓慢:配置国内镜像加速器,替换Docker官方源;
- 浏览器无法访问Nginx:检查服务器安全组/防火墙是否放行映射端口;
docker exec进入失败:容器已停止,执行docker start 容器名重启;
4 忘记自定义容器名:可通过docker ps复制容器ID进行操作。
八、总结
Docker官方镜像大幅降低环境搭建成本,Ubuntu、CentOS用于快速拉起Linux测试环境,Nginx用于一键部署Web服务。整套流程遵循「搜索镜像→拉取→创建容器→进入/访问服务」标准步骤,掌握文中通用命令后,Redis、MySQL、Java等其余官方镜像均可套用相同操作逻辑,是Docker入门最基础的实操能力。