docker - Docker容器/图像之间的友好URL

标签 docker server dockerfile docker-machine

我正在使用docker创建一些项目,但它们将位于不同的图像/容器中

是否可以使用相同的URL(例如“友好的URL”)访问不同的Docker容器?

示例:

  • 主容器在teste.com中
  • 如果我访问teste.com/project2、teste.com/project3,我希望它转到同一服务器计算机上的另一个运行容器。

  • 那可能吗?

    最佳答案

    您可以设置一个Web服务器(apache / nginx),以将流量分发到不同的容器。

    在您的情况下,启动一个nginx容器,它将请求重定向到

  • container1-运行您的project1
  • container2-运行您的project2等,

  • 现在在nginx conf中:
    server {
      listen 80 default_server;
      server_name subdomain.domain.com;
      location /project1 {
         proxy_pass http://tomcat1:8080;
         proxy_set_header Host      $host;
         proxy_set_header X-Real-IP $remote_addr;
      }
      location /project2 {
         proxy_pass http://tomcat2:8080;
         proxy_set_header Host      $host;
         proxy_set_header X-Real-IP $remote_addr;
      }
    }
    

    请参见以下示例:Configuring Nginx docker container to proxypass to tomcat docker container

    关于docker - Docker容器/图像之间的友好URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37076951/

    相关文章:

    linux - 设置要在启动时执行的命令+设置每天重启-Ubuntu(关闭)

    c++ - 使成员函数线程出现问题

    python - 在同一个 Dockerfile 中使用 Python 和 Node.js 并创建一个我在云中同时使用的镜像

    python - 构建期间在 Dockerfile 中激活和切换 Anaconda 环境

    docker - 有关图像和容器的Docker信息

    ios - 为什么我没有得到服务器中图像的所有字节?

    docker - 如何在Docker中使用Erlang来运行Phoenix应用程序?

    docker - 强制在特定的Docker层上构建

    docker - docker-compose up -d --build “$@”使用错误的名称构建镜像

    docker - 无法建立连接,因为目标机器主动拒绝它。 "Kubernetes on Docker for Windows"