腾讯云轻量应用服务器: Debian 12.x Docker 从安装配置到容器部署全流程
腾讯云轻量应用服务器: Debian 12.x Docker 从安装配置到容器部署全流程本文介绍如何在腾讯云轻量应用服务器 (或云服务器 CVM) 上安装 Debian 12 系统,配置 Docker 环境,并通过上传镜像的方式部署容器服务。适用于想规避 Docker Hub 网络波动或需要私有化部署的场景。
安装系统安装 Debian 12.x 操作系统。
安装系统 - Debian安装 Docker安装依赖:
代码语言:bash复制apt update
apt upgrade -y
apt install -y apt-transport-https ca-certificates curl gnupg lsb-release安装 Docker:
代码语言:bash复制apt install -y docker.io docker-compose测试安装结果:
代码语言:bash复制docker --version
docker-compose --version检查 Docker 服务:
代码语言:bash复制systemctl status docker代码语言:plain复制● docker.service - Docker Application Container Engine
Loaded: loaded (/lib/systemd/system/docker.service; enabled; preset: enabled)
Active: active (running) since Sat 2026-01-03 13:32:54 CST; 4min 33s ago
TriggeredBy: ● docker.socket
Docs: https://docs.docker.com
Main PID: 104286 (dockerd)
Tasks: 8
Memory: 30.5M
CPU: 309ms
CGroup: /system.slice/docker.service
└─104286 /usr/sbin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock容器部署部署背景考虑到官方 Docker 库有网络问题,而云服务商的独享镜像托管服务需要开通"企业版",所以选择手动上传镜像文件来部署服务。
容器镜像服务 - 产品概述镜像准备本地保存镜像:
代码语言:bash复制# 普通保存
docker save IMAGE_NAME:TAG -o IMAGE_FILE.tar
# 压缩保存 (推荐)
docker save IMAGE_NAME:TAG | gzip > IMAGE_FILE.tar.gz镜像上传通过 SFTP/SCP/Docker Registry 等方式上传到服务器。
SFTP 示例:
代码语言:bash复制sftp USER@YOUR_SERVER_IP
sftp> cd DOCKER_IMAGE_PATH
sftp> put IMAGE_FILE.tar.gz
sftp> ls -lh
sftp> byeSCP 示例:
代码语言:bash复制scp IMAGE_FILE.tar.gz USER@YOUR_SERVER_IP:/path/to/destination/服务端加载镜像:
代码语言:bash复制docker load -i IMAGE_FILE.tar.gz容器启动运行容器:
代码语言:bash复制docker run --name CONTAINER_NAME -d -p PORT1:PORT2 IMAGE_NAME:TAG参数说明:
--name CONTAINER_NAME: 指定容器名称。--restart: 重启策略,例如 unless-stopped、always 等。-d: 后台运行容器。-p PORT1:PORT2: 端口映射,将宿主机的 PORT1 端口映射到容器的 PORT2 端口。-v /host/path:/container/path: 数据卷映射,将宿主机的 /host/path 目录映射到容器的 /container/path 目录。IMAGE_NAME:TAG: 指定要运行的镜像名称和标签。容器管理查看容器日志:
代码语言:bash复制docker logs CONTAINER_NAME进入容器:
代码语言:bash复制docker exec -it CONTAINER_NAME bash更新容器重启策略:
代码语言:bash复制docker update --restart=unless-stopped CONTAINER_NAME防火墙管理检查 nftables 状态:
代码语言:bash复制systemctl status nftables代码语言:plain复制○ nftables.service - nftables
Loaded: loaded (/lib/systemd/system/nftables.service; disabled; preset: enabled)
Active: inactive (dead)
Docs: man:nft(8)
http://wiki.nftables.org如果想规避冲突,可以禁用 nftables (可选):
代码语言:bash复制systemctl stop nftables
systemctl disable nftables安装 ufw 和 net-tools:
代码语言:bash复制apt install -y ufw net-tools检查 ufw 状态:
代码语言:bash复制ufw status verbose代码语言:plain复制Status: inactive启用 ufw:
代码语言:bash复制ufw enable配置 ufw 规则:
代码语言:bash复制ufw allow PORT_NUMBER/tcp例如:
代码语言:bash复制ufw allow 80/tcp
ufw allow 443/tcp
ufw allow 22/tcp验证端口是否开放:
代码语言:bash复制netstat -tulnp | grep PORT_NUMBER检查云服务商 - 防火墙 - 规则:
防火墙防火墙 - 添加规则:
防火墙 - 添加规则版权声明
本文为原创文章,作者保留版权。转载请保留本文完整内容,并以超链接形式注明作者及原文出处。
(完)

