You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将Docker容器部署到DigitalOcean并实现Nginx与容器连通

操作步骤(已确认所有前置资源就绪)

1. 确认Docker容器端口映射规则

首先确保启动容器时绑定了本地回环地址的端口,避免容器端口直接暴露到公网:

  • 启动容器时的参考命令:docker run -d -p 127.0.0.1:容器内部服务端口:容器外部映射端口 你的容器镜像名
  • 示例:如果你的容器内Web服务运行在3000端口,命令为 docker run -d -p 127.0.0.1:3000:3000 my-web-app
  • 可执行 docker ps 确认PORTS列显示的映射规则符合预期

2. 验证容器服务可用性

在Droplet本地执行curl命令测试容器服务是否能正常响应:
curl http://127.0.0.1:你绑定的本地端口
如果能返回服务内容,说明容器侧运行正常。

3. 配置Nginx反向代理规则

  • 新建站点配置文件:nano /etc/nginx/sites-available/你的域名.conf
  • 写入以下基础配置,替换对应占位符:
server {
    listen 80;
    server_name 你的实际域名;

    location / {
        proxy_pass http://127.0.0.1:你绑定的容器本地端口;
        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;
    }
}
  • 启用配置:创建软链接到sites-enabled目录
    ln -s /etc/nginx/sites-available/你的域名.conf /etc/nginx/sites-enabled/

4. 生效Nginx配置

  • 先测试配置语法是否正确:nginx -t
  • 出现test is successful提示后,重载配置生效:systemctl reload nginx

5. (可选)配置HTTPS访问

直接使用certbot自动签发Let's Encrypt证书并配置跳转:
certbot --nginx -d 你的实际域名
按照提示操作即可自动完成HTTPS配置。

6. 验证连通性

直接在浏览器访问你的域名,确认可以正常加载容器内的服务内容。


特殊场景说明

如果你的Nginx也运行在Docker容器中,需要将Nginx容器和业务容器加入同一个Docker自定义网络,配置反向代理时proxy_pass填写业务容器的名称即可,无需绑定本地端口。


内容的提问来源于stack exchange,提问作者Andrew Smith

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 10:39:03