在 OpenCloudOS 服务器上部署 Ubuntu 容器环境,可以通过容器运行时(如 Docker 或 Podman)来实现。以下是使用 Docker 部署 Ubuntu 容器的详细步骤。
✅ 前提条件
- 一台运行 OpenCloudOS 的服务器(通常基于 RHEL/CentOS 生态)
- 具备 root 或 sudo 权限
- 网络连接正常
📦 步骤一:安装 Docker
OpenCloudOS 与 CentOS/Rocky Linux 类似,可以使用 dnf 或 yum 安装 Docker。
-
更新系统包
sudo dnf update -y -
安装依赖工具
sudo dnf install -y yum-utils device-mapper-persistent-data lvm2 -
添加 Docker 官方仓库
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo -
安装 Docker Engine
sudo dnf install -y docker-ce docker-ce-cli containerd.io -
启动并启用 Docker 服务
sudo systemctl start docker sudo systemctl enable docker -
验证安装
sudo docker --version # 输出示例:Docker version 24.0.7, build afdd53b
💡 可选:将当前用户加入
docker组以避免每次使用sudosudo usermod -aG docker $USER # 注销或重新登录生效
🐳 步骤二:拉取并运行 Ubuntu 容器
- 拉取官方 Ubuntu 镜像(例如 Ubuntu 22.04 LTS)
sudo docker pull ubuntu:22.04
其他版本可选:
ubuntu:20.04ubuntu:latest
- 启动一个交互式 Ubuntu 容器
sudo docker run -it ubuntu:22.04 /bin/bash
-i:保持标准输入打开-t:分配一个伪终端/bin/bash:进入容器后执行 bash shell
- 进入容器后操作
你现在已经在一个 Ubuntu 环境中了,可以执行如下命令:
apt update
apt install -y vim net-tools iputils-ping # 示例安装常用工具
🔧 步骤三:(可选)持久化容器或创建自定义镜像
1. 提交修改为新镜像
如果你在容器中做了配置,可以保存为新的镜像:
# 查看正在运行的容器 ID
sudo docker ps
# 提交更改(假设容器 ID 是 abc123)
sudo docker commit abc123 my-ubuntu-env:latest
之后可以用:
sudo docker run -it my-ubuntu-env:latest /bin/bash
2. 挂载主机目录(共享文件)
sudo docker run -it -v /host/path:/container/path ubuntu:22.04 /bin/bash
例如挂载当前目录:
sudo docker run -it -v $(pwd):/workdir ubuntu:22.04 /bin/bash
🚀 步骤四:后台运行容器(守护模式)
# 启动容器并在后台运行
sudo docker run -d --name ubuntu-server ubuntu:22.04 tail -f /dev/null
# 进入该容器
sudo docker exec -it ubuntu-server /bin/bash
🧹 常用管理命令
| 命令 | 说明 |
|---|---|
docker ps |
查看运行中的容器 |
docker ps -a |
查看所有容器(包括停止的) |
docker images |
查看本地镜像 |
docker stop <container> |
停止容器 |
docker rm <container> |
删除容器 |
docker rmi <image> |
删除镜像 |
✅ 总结
你已成功在 OpenCloudOS 上通过 Docker 部署了一个 Ubuntu 容器环境。这种方式轻量、隔离性好,适合开发测试、应用部署等场景。
🔁 替代方案:使用 Podman(无守护进程)
如果你不想使用 Docker,也可以选择更现代的 Podman(兼容 Docker 命令):
sudo dnf install -y podman
podman run -it ubuntu:22.04 /bin/bash
Podman 不需要守护进程,原生支持 rootless 容器,安全性更高。
如有进一步需求(如部署 Web 服务、GPU 支持、编排工具如 Docker Compose/K8s),欢迎继续提问!
PHPWP博客