手把手教你云服务器部署Docker与端口配置,开启容器化之旅

2026-09-11 17:36:20 71阅读
本文详细介绍了在云服务器上部署Docker的完整流程,助力开发者顺利开启容器化之旅,针对部署过程中的核心环节——端口处理,文章进行了重点剖析:一是讲解了Docker的端口映射机制,通过-p参数将容器内部端口绑定至宿主机端口;二是强调了必须在云服务商控制台的安全组规则以及服务器系统防火墙中同步放行对应端口,通过这两步操作,确保外部网络能够顺利访问容器应用,为新手提供了一套清晰、可落地的实践指南。

随着微服务架构和云原生概念的普及,“容器化”已经成为了现代软件开发和部署的标配,对于开发者而言,将应用直接跑在云服务器上虽然可行,但往往会面临环境不一致、部署繁琐、扩缩容困难等问题,而在云服务器部署Docker,则是解决这些痛点的最佳方案。

本文将以常见的 Ubuntu 系统为例,手把手教你如何从零开始在一台全新的云服务器上部署 Docker,并跑起你的第一个容器化应用。

手把手教你云服务器部署Docker与端口配置,开启容器化之旅

为什么选择 Docker?

在直奔主题之前,我们先简单聊聊为什么要在云服务器上使用 Docker:

  1. 环境一致性:“在我的电脑上能跑”不再是借口,Docker 将应用及其依赖打包在一起,确保从开发环境到云服务器环境的一致性。
  2. 极致轻量:相比传统的虚拟机,Docker 容器共享宿主机内核,启动速度秒级,资源占用极低。
  3. 便捷的生态:通过 Dockerfile 和 Docker Compose,复杂的部署流程可以被代码化,一键拉起整套架构。

准备工作

在开始之前,你需要准备以下物品:

  1. 一台云服务器:主流的阿里云、腾讯云、华为云或 AWS 均可,系统建议选择 Ubuntu 20.04 或 22.04 LTS 版本。
  2. SSH 连接工具:如 Xshell、Termius 或系统自带的终端。
  3. 开放安全组端口:在云服务器的控制台中,确保安全组放行了后续需要使用的端口(如 80、8080 端口)。

连接云服务器并更新系统

使用 SSH 工具连接到你的云服务器:

ssh root@你的服务器公网IP

成功登录后,首先更新系统的软件包列表,确保后续安装不会因为依赖问题报错:

apt update && apt upgrade -y

安装 Docker

在 Ubuntu 中安装 Docker 最推荐的方式是使用 Docker 官方的脚本,这不仅简单,而且能自动识别系统版本并配置好官方源。

安装必要的依赖工具:

apt install -y apt-transport-https ca-certificates curl software-properties-common

添加 Docker 官方 GPG 密钥:

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

添加 Docker APT 源:

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" | tee /etc/apt/sources.list.d/docker.list > /dev/null

正式安装 Docker:

apt update
apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

注:国内服务器如果拉取官方源较慢,可以将源替换为阿里云镜像源。

验证安装与配置免 sudo

安装完成后,Docker 服务会自动启动,我们可以通过以下命令查看 Docker 版本,验证是否安装成功:

docker --version

如果输出类似 Docker version 24.0.x, build xxx 的信息,说明安装成功。

配置免 sudo(可选但强烈推荐): 默认情况下,使用 Docker 命令需要 root 权限,如果你使用的是非 root 用户,为了避免每次输入 sudo,可以将当前用户加入 docker 用户组:

usermod -aG docker $USER

执行后,需要退出 SSH 重新登录,或者执行 newgrp docker 使权限立即生效。

配置国内镜像加速(针对国内用户)

由于网络原因,国内服务器直接拉取 Docker Hub 上的镜像往往会超时失败,我们可以通过配置镜像加速器来解决。

编辑(或创建)Docker 的配置文件:

nano /etc/docker/daemon.json

这里以阿里云等公共加速器为例,你也可以替换为自己云服务商提供的专属加速地址):

{
  "registry-mirrors": [
    "https://docker.m.daocloud.io",
    "https://dockerproxy.com"
  ]
}

保存退出后,重新加载配置并重启 Docker 服务:

systemctl daemon-reload
systemctl restart docker

实战演练:在云服务器部署一个 Nginx 容器

环境配置完毕,我们来实战跑一个 Web 服务器,检验学习成果。

拉取官方 Nginx 镜像:

docker pull nginx:latest

运行 Nginx 容器:

docker run -d -p 8080:80 --name my-nginx nginx

参数解释:

  • -d:后台运行容器。
  • -p 8080:80:端口映射,将云服务器的 8080 端口映射到容器内部的 80 端口。
  • --name my-nginx:给容器命名为 my-nginx,方便管理。
  • nginx:使用的镜像名称。

查看运行状态:

docker ps

如果看到 my-nginx 的状态为 Up,说明容器已经成功运行。

访问测试: 打开浏览器,输入 http://你的云服务器公网IP:8080(记得在云服务器的安全组中放行 8080 端口),如果看到经典的 "Welcome to nginx!" 页面,恭喜你,你已经在云服务器上成功完成了 Docker 的部署与第一个应用的容器化运行!

通过以上步骤,我们了解了云服务器部署Docker的完整流程:从系统准备、安装引擎、配置加速器,到最终拉起业务容器,Docker 的引入,让云服务器的环境管理变得前所未有的干净和高效。

这仅仅是一个开始,掌握了单机 Docker 的部署后,你可以进一步学习编写 Dockerfile 来打包自己的应用,或者使用 Docker Compose 来编排多容器应用(如一键部署前端+后端+数据库),最终迈向 Kubernetes 的云原生大门,赶快去你的云服务器上试试吧!

文章版权声明:除非注明,否则均为亚朵原创文章,转载或复制请以超链接形式并注明出处。