自定义域名访问网站在Docker中运行,无需更改主机

custom domainname access website run in docker without change in host machine

提问人:Mihuartuanr 提问时间:11/16/2023 更新时间:11/16/2023 访问量:14

问:

我在 docker 容器中启动一个 Web 服务,并希望通过 docker 容器或主机中的自定义仅域名设置环境访问它。

我有一个项目如下:Dockerfile

FROM node:alphine
ENV PORT 3000
WORKDIR /usr/www/app
COPY . .
RUN npm i
EXPOSE 3000
CMD [ "npm", "run", "dev" ]

并构建映像:

docker build -t nextjs-d .       

创建 Docker 容器:

docker run -it --name next-d --add-host=test.com:127.0.0.1 -d nextjs-d      

现价: 我可以 、 在 docker 容器中;curl http://localhost:3000curl http://test.com:3000

期望:

我想通过 test.com:3000 从主机中的 chrome 访问在 docker 容器中运行的 Web 服务器,并且在主机中不做任何事情。

docker webserver 托管 域名

评论

1赞 David Maze 11/16/2023
Docker 容器在设计上与主机系统隔离,无法更改主机系统的网络设置。您是否有域的 DNS 注册;DNS A 记录通常指向什么;有没有理由不能在浏览器中使用不同的 URL 进行本地开发设置?test.com
0赞 Mihuartuanr 11/16/2023
我通过cli arg ' --add-host=test.com:127.0.0.1'添加了DNS映射,并且可以在docker容器的'/etc/hosts'中找到它。只需学习 docker 并实现隔离域服务器即可直接在多machine.@DavidMaze中使用它
0赞 David Maze 11/16/2023
特别是在多计算机上下文中,您不需要 、 或类似的非常本地的 DNS 覆盖。您需要使用正确的 A 记录设置 DNS 服务器。这并不是一个真正的编程问题,最好在另一个站点上提出,例如服务器故障docker run --add-host/etc/hosts
0赞 Mihuartuanr 11/16/2023
好的,我迁移它

答: 暂无答案