当前位置:首页 > Ubuntu > 正文

Ubuntu服务容器化部署(手把手教你用Docker将Ubuntu服务轻松容器化)

在现代 DevOps 和云原生架构中,Ubuntu服务容器化部署已成为提升系统可移植性、一致性和运维效率的关键手段。无论你是刚接触容器技术的新手,还是希望系统学习如何将传统 Linux 服务迁移到容器环境的开发者,本教程都将带你从零开始,一步步完成 Ubuntu 服务的 Docker 容器化部署。

Ubuntu服务容器化部署(手把手教你用Docker将Ubuntu服务轻松容器化) Ubuntu服务容器化部署 Docker部署Ubuntu服务 容器化运维 Linux服务Docker化 第1张

什么是容器化?为什么选择 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化,核心思想都是将应用与其运行环境打包,实现一次构建、处处运行。希望这篇教程能为你开启容器化之旅打下坚实基础!

如有疑问,欢迎在评论区交流讨论!