腾讯云轻量应用服务器如何安装Docker并部署项目?

下面以腾讯云轻量应用服务器(LTS)为例,分步骤说明:安装 Docker → 拉取/构建镜像 → 部署项目。示例基于 Ubuntu 22.04 LTS(CentOS 8/9 思路类似,命令略有差异)。


一、登录服务器并准备环境

  1. 通过 SSH 登录轻量应用服务器

    ssh root@<你的公网IP>
    # 或使用你设置的普通用户 + sudo
  2. 更新系统包(推荐)

    apt update && apt upgrade -y   # Ubuntu/Debian
    # 或
    yum update -y                  # CentOS/RHEL
  3. 开放必要端口(在腾讯云控制台“安全组”中配置)
    例如:

    • 22(SSH)
    • 80 / 443(Web)
    • 项目自定义端口(如 3000、8080 等)
    • 如需远程访问 Docker 管理面板,再单独开相应端口(不推荐直接暴露)

二、安装 Docker

方式一:使用官方脚本(推荐,简单快捷)

curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

如果网络慢,可换为其他镜像源或手动安装(见下方方式二)。

安装完成后启动并设置开机自启:

systemctl enable --now docker
docker version

方式二:手动安装(Ubuntu 示例)

apt install -y ca-certificates curl gnupg lsb-release

# 添加 Docker 官方 GPG 密钥
install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | 
  gpg --dearmor -o /etc/apt/keyrings/docker.gpg
chmod a+r /etc/apt/keyrings/docker.gpg

# 添加 Docker 仓库
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] 
  https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | 
  tee /etc/apt/sources.list.d/docker.list > /dev/null

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

systemctl enable --now docker
docker version

三、验证 Docker 运行正常

docker run hello-world

若看到欢迎信息,则 Docker 安装成功。


四、将项目部署到 Docker

假设你的项目是:

  • 后端:Node.js / Java / Go 等
  • 前端:Vue / React 等静态资源或 SSR

下面以常见场景举例。

场景 A:已有 Dockerfile 的项目

1. 上传项目代码到服务器

本地打包后上传,或用 scp / git clone

# 示例:从 Git 克隆
cd /root
git clone <你的项目仓库地址>
cd <项目目录>

或在本地打包后:

scp -r ./project-root root@<你的公网IP>:/root/project

2. 编写 Dockerfile(若没有)

以 Node.js 项目为例(Dockerfile 放在项目根目录):

FROM node:20-alpine

WORKDIR /app

COPY package*.json ./
RUN npm ci --only=production

COPY . .

EXPOSE 3000

CMD ["node", "server.js"]

Java Spring Boot 示例:

FROM openjdk:17-jdk-slim

WORKDIR /app
COPY target/*.jar app.jar

EXPOSE 8080

ENTRYPOINT ["java", "-jar", "app.jar"]

3. 构建镜像

docker build -t my-project:latest .

4. 运行容器

docker run -d 
  --name my-project 
  -p 3000:3000           # 宿主机端口:容器端口
  -v /data/my-project/logs:/app/logs 
  my-project:latest

常用参数说明:

  • -d:后台运行
  • --name:容器名称
  • -p:端口映射
  • -v:挂载卷(日志、数据等)

查看运行状态:

docker ps
docker logs -f my-project

场景 B:使用 docker-compose 部署(多服务更推荐)

在项目目录下创建 docker-compose.yml,例如:

version: "3.8"

services:
  web:
    build: .
    ports:
      - "3000:3000"
    volumes:
      - ./logs:/app/logs
    environment:
      - NODE_ENV=production
    restart: always

  db:
    image: mysql:8.0
    environment:
      MYSQL_ROOT_PASSWORD: your_root_password
      MYSQL_DATABASE: mydb
    volumes:
      - mysql_data:/var/lib/mysql
    restart: always

volumes:
  mysql_data:

启动:

docker compose up -d
# 或旧版本:
# docker-compose up -d

查看日志:

docker compose logs -f

停止/重启:

docker compose down
docker compose up -d

五、配置反向X_X(Nginx)——可选但推荐

让域名访问更规范,支持 HTTPS。

  1. 安装 Nginx:
apt install -y nginx
# 或
yum install -y nginx
  1. 编辑配置文件 /etc/nginx/sites-available/default 或新建 /etc/nginx/conf.d/myapp.conf
server {
    listen 80;
    server_name example.com www.example.com;

    location / {
        proxy_pass http://localhost:3000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}
  1. 测试并重载:
nginx -t
systemctl reload nginx

如需 HTTPS,可使用 Let’s Encrypt(certbot)自动申请证书。


六、常见问题与优化建议

  1. 权限问题

    • 避免直接用 root 运行业务容器,可创建专用用户。
    • 挂载卷时注意文件权限:chown -R 1000:1000 /data/my-project/logs 等。
  2. 内存不足
    轻量服务器通常内存较小,注意:

    • 限制容器资源:--memory=512m --cpus=0.5
    • 关闭不必要的服务,只保留核心组件。
  3. 日志清理
    docker-compose.yml 中配置日志驱动和大小限制:

    logging:
     driver: json-file
     options:
       max-size: "10m"
       max-file: "3"
  4. 备份与恢复

    • 定期备份数据库(mysqldump / pg_dump)。
    • 备份重要配置文件和挂载卷数据。

如果你能提供:

  • 操作系统版本(Ubuntu/CentOS?)
  • 项目类型(Node/Java/Go/PHP?前后端是否分离?)
  • 是否需要数据库、Redis 等中间件

我可以给出一份针对你项目的完整 Dockerfile + docker-compose.yml 示例及部署命令。

未经允许不得转载:CLOUD云枢 » 腾讯云轻量应用服务器如何安装Docker并部署项目?