这个问题可能是因为Docker容器的端口映射问题导致的。为了在远程服务器上运行您的Docker容器,您需要将容器的端口映射到服务器的端口上。
以下是一个简单的示例,展示如何在Docker容器中运行一个Node.js服务器,并将端口映射到主机上的端口。
FROM node:latest
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
EXPOSE 3000
CMD ["npm", "start"]
docker build -t mynodeapp .
docker run -p 3000:3000 mynodeapp
docker ps
curl http://localhost:3000
如果一切正常,您应该能够看到来自Node.js服务器的响应。现在,您可以将上述命令中的“localhost”替换为远程服务器的IP地址,以在服务器上运行Docker容器。
curl http://:3000
注意:如果您的远程服务器上有防火墙,则必须打开容器端口才能从外部访问它。这可以通过在服务器上运行以下命令来完成:
sudo ufw allow 3000/tcp
这将允许TCP流量通过服务器的3000端口。