如何将开发环境的docker-compose.yml部署至AWS(如t2 micro实例)
我来帮你梳理下把这个Docker Compose项目部署到AWS t2 micro(或者其他云服务商的类似轻量实例)的具体操作流程,不同云平台的核心步骤大同小异,跟着一步步来就行:
前置准备工作
- 先在你的云服务商后台创建好t2 micro实例,系统建议选Ubuntu 20.04/22.04这类常用发行版,操作起来更顺手
- 确保本地项目代码已经存到Git仓库(比如GitHub、GitLab),或者准备好通过scp工具上传到实例
- 配置实例的安全组规则:开放22端口(用于SSH连接)和80端口(对应你Nginx映射的端口),不然外部访问不了你的服务
云实例初始化(SSH连接后操作)
- 首先用SSH连接到你的实例,命令大概是这样(替换成你的密钥文件和实例IP):
ssh -i "你的密钥文件名.pem" ubuntu@实例公网IP地址 - 安装Docker和Docker Compose:
- 先更新系统包:
sudo apt update && sudo apt upgrade -y - 安装Docker并设置开机自启:
sudo apt install docker.io -y sudo systemctl start docker sudo systemctl enable docker - 安装Docker Compose:
sudo apt install docker-compose -y - 把当前用户加入docker组,避免后续执行Docker命令每次都输sudo:
sudo usermod -aG docker $USER
- 先更新系统包:
部署你的Docker Compose项目
- 把项目代码传到云实例:
- 如果用Git管理代码,直接在实例上克隆仓库:
git clone 你的项目仓库地址 # 然后进入到docker-compose.yml所在的目录,比如: cd 项目目录/对应子目录 - 如果不用Git,用scp上传本地项目:
scp -i "你的密钥文件名.pem" -r 本地项目根路径 ubuntu@实例公网IP:/home/ubuntu/ # 上传完成后进入对应目录 cd /home/ubuntu/项目目录/对应子目录
- 如果用Git管理代码,直接在实例上克隆仓库:
- 构建并启动服务:
- 后台启动所有服务:
docker-compose up -d - 等待构建完成后,检查服务状态,确认两个服务都是
Up状态:docker-compose ps - 如果遇到服务启动失败,查看日志排查问题:
# 查看server服务日志 docker-compose logs server # 查看nginx服务日志 docker-compose logs nginx
- 后台启动所有服务:
针对t2 micro的额外优化建议
因为t2 micro只有1核1G内存,资源比较有限,给你几个小建议:
- 优化你的Docker镜像大小:比如
server服务的Dockerfile用多阶段构建,只保留运行时需要的文件,减少镜像体积,避免内存不足 - 定期清理Docker无用资源:比如旧镜像、停止的容器,释放磁盘和内存:
docker system prune -a - 如果后续要加HTTPS,建议用Certbot配合Nginx申请免费证书,不过要记得开放443端口
内容的提问来源于stack exchange,提问作者dagda1
相关产品推荐
相关产品推荐

