在现代 DevOps 和云原生架构中,Ubuntu服务容器化部署已成为提升系统可移植性、一致性和运维效率的关键手段。无论你是刚接触容器技术的新手,还是希望系统学习如何将传统 Linux 服务迁移到容器环境的开发者,本教程都将带你从零开始,一步步完成 Ubuntu 服务的 Docker 容器化部署。
什么是容器化?为什么选择 Docker?
容器化是一种轻量级虚拟化技术,它将应用程序及其依赖打包在一个隔离的运行环境中。Docker 是目前最流行的容器平台,具有启动快、资源占用少、跨平台兼容等优势。通过 Docker部署Ubuntu服务,你可以确保开发、测试和生产环境完全一致,避免“在我机器上能跑”的经典问题。
准备工作
在开始之前,请确保你的系统满足以下条件:
一台安装了 Ubuntu 20.04 或更高版本的服务器或本地机器 具备 sudo 权限 网络连接正常第1步:安装 Docker
首先,我们需要在 Ubuntu 系统上安装 Docker。打开终端并依次执行以下命令:
# 更新包索引sudo apt update# 安装必要依赖sudo apt install -y ca-certificates curl gnupg lsb-release# 添加 Docker 官方 GPG 密钥curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg# 添加 Docker 仓库echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null# 再次更新并安装 Docker 引擎sudo apt updatesudo apt install -y docker-ce docker-ce-cli containerd.io# 将当前用户加入 docker 组(避免每次使用 sudo)sudo usermod -aG docker $USER# 重启 shell 或重新登录以生效
安装完成后,运行
docker --version验证是否成功。
第2步:创建一个简单的 Ubuntu 服务(以 Nginx 为例)
为了演示 Linux服务Docker化 的过程,我们以 Nginx Web 服务器为例。你也可以替换成任何你自己的服务(如 MySQL、Redis、自定义 Python 应用等)。
首先,创建项目目录:
mkdir ~/my-nginx-servicecd ~/my-nginx-service
然后,创建一个简单的 HTML 页面:
echo "Hello from Dockerized Nginx on Ubuntu!
" > index.html
第3步:编写 Dockerfile
Dockerfile 是构建镜像的蓝图。在项目目录中创建
Dockerfile:
FROM ubuntu:22.04# 设置非交互式安装环境ENV DEBIAN_FRONTEND=noninteractive# 安装 NginxRUN apt update && \ apt install -y nginx && \ rm -rf /var/lib/apt/lists/*# 复制自定义网页COPY index.html /var/www/html/# 暴露 80 端口EXPOSE 80# 启动 Nginx(前台运行)CMD ["nginx", "-g", "daemon off;"]
第4步:构建并运行容器
在项目目录下执行以下命令构建镜像:
docker build -t my-nginx-ubuntu .
构建成功后,运行容器:
docker run -d -p 8080:80 --name my-web my-nginx-ubuntu
现在,打开浏览器访问
http://localhost:8080,你应该能看到我们创建的欢迎页面!这标志着你的第一个 容器化运维 实践成功了。
第5步(可选):使用 Docker Compose 管理多服务
当你的应用包含多个服务(如 Web + DB),推荐使用 Docker Compose。创建
docker-compose.yml:
version: '3'services: web: build: . ports: - "8080:80" restart: always
然后使用以下命令启动:
docker-compose up -d
总结
通过本教程,你已经掌握了如何将 Ubuntu 上的服务(如 Nginx)进行容器化部署。无论是 Ubuntu服务容器化部署、Docker部署Ubuntu服务、容器化运维 还是 Linux服务Docker化,核心思想都是将应用与其运行环境打包,实现一次构建、处处运行。希望这篇教程能为你开启容器化之旅打下坚实基础!
如有疑问,欢迎在评论区交流讨论!
