使用 Docker 部署 Github 项目

发布: (2026年3月27日 GMT+8 13:37)
2 分钟阅读
原文: Dev.to

Source: Dev.to

安装所需工具

sudo apt update && sudo apt upgrade -y

安装 Git

sudo apt install git -y

安装 Node.js(重要 → Node 20+)

# 删除旧的 Node.js 包
sudo apt remove nodejs npm -y

# 为 Node 20 添加 NodeSource 仓库
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -

# 安装 Node.js
sudo apt install -y nodejs

验证安装

node -v
npm -v

克隆你的 GitHub 项目

git clone https://github.com/yourusername/your-repo.git
cd your-repo

项目目录截图

安装依赖

rm -rf node_modules package-lock.json
npm install

构建项目(重要)

npm run build

构建输出截图

安装 Docker

sudo apt install docker.io -y
sudo systemctl start docker
sudo systemctl enable docker

使用 Docker 运行网站

docker run -d -p 80:80 \
  -v $(pwd)/dist:/usr/share/nginx/html \
  --name mysite \
  nginx

Docker 运行输出 1
Docker 运行输出 2
Docker 运行输出 3

验证容器

docker ps

打开网站

在浏览器中访问 http://your-ec2-public-ip

故障排除

  • Docker 安装冲突

    sudo apt remove containerd containerd.io -y
    sudo apt install docker.io -y
  • Docker 权限被拒绝

    sudo usermod -aG docker ubuntu
    newgrp docker
  • 容器未运行 / 网站未打开

    docker ps          # 检查容器状态
    curl localhost     # 本地测试
    docker logs mysite # 查看日志
  • 浏览器中网站无法打开

    确认 EC2 安全组允许入站 HTTP 流量:

    类型端口来源
    HTTP800.0.0.0/0

最终部署命令

sudo docker run -d -p 80:0 \
  -v $(pwd)/dist:/usr/share/nginx/html \
  --name mysite \
  nginx
0 浏览
Back to Blog

相关文章

阅读更多 »