Docker compose TestNG docker compose找不到本地主机url

Docker compose TestNG docker compose找不到本地主机url,docker-compose,dockerfile,Docker Compose,Dockerfile,我有这个docker compose配置 version: '3' services: selenoid: image: "aerokube/selenoid:latest" container_name: selenoid ports: - "0.0.0.0:4444:4444" networks: - selenoid volumes: - ".:/etc/sel

我有这个docker compose配置

version: '3'
services:
  selenoid:
    image: "aerokube/selenoid:latest"
    container_name: selenoid
    ports:
      - "0.0.0.0:4444:4444"
    networks:
      - selenoid
    volumes:
      - ".:/etc/selenoid"
      - "./target:/output"
      - "/var/run/docker.sock:/var/run/docker.sock"
      - "./target:/opt/selenoid/video"
    environment:
      - "OVERRIDE_VIDEO_OUTPUT_DIR=$PWD/target"
    command: ["-limit", "10", "-conf", "/etc/selenoid/browsers.json", "-video-output-dir", "/opt/selenoid/video", "-container-network", "selenoid"]
  selenoid-ui:
    image: "aerokube/selenoid-ui:latest"
    container_name: selenoid-ui
    links:
      - selenoid
    ports:
      - "8083:8080"
    networks:
      - selenoid
    command: ["--selenoid-uri", "http://selenoid:4444"]
  chrome_79.0:
    image: "selenoid/vnc:chrome_79.0"
    container_name: chrome_79.0
    links:
      - selenoid
      - selenoid-ui
    depends_on:
      - selenoid
      - selenoid-ui
    networks:
      - selenoid
    volumes:
      - "/dev/shm:/dev/shm"
  sent:
    image: "sent:1.0"
    container_name: sent
    links:
      - selenoid
      - selenoid-ui
    depends_on:
      - selenoid
      - selenoid-ui
    networks:
      - selenoid
networks:
  selenoid:
    external:
      name: selenoid
send是一个运行TestNG测试的容器,但看起来似乎找不到本地主机URL

如果我检查打开的端口,我会看到这个

chrome_79.0   /entrypoint.sh                   Up                      4444/tcp              
selenoid      /usr/bin/selenoid -listen  ...   Up                      0.0.0.0:4444->4444/tcp
selenoid-ui   /selenoid-ui --selenoid-ur ...   Up (health: starting)   0.0.0.0:8083->8080/tcp
我可以从外部访问localhost:4444,但即使容器位于同一网络中也无法访问localhost


有什么想法吗?

好吧,我稍微修改一下你的docker文件,它就可以工作了=)

  • 删除chrome_79.0和所有其下的内容
  • 因为您可以直接执行下载chrome图像:

    docker pull selenoid/vnc:chrome_79.0
    
  • 删除所有“网络”(也从命令部分删除)

  • 并改为添加(不在命令部分添加)

    i、 e

    3.在录制视频之前,我建议您先看看它在没有录制的情况下是如何工作的…

    只需更改音量部分。 我使用Mac,在我的情况下

     volumes: 
      - "$PWD:/etc/selenoid"
      - "/var/run/docker.sock:/var/run/docker.sock"
      - "$PWD:/opt/selenoid/logs"
    
    4.执行

      docker-compose up
      docker pull selenoid/vnc:chrome_79.0
    
    5.参见图像和容器列表

    CONTAINER ID        IMAGE                         COMMAND                  CREATED             STATUS                 PORTS                    NAMES
    ef60d57bc743        aerokube/selenoid-ui:latest   "/selenoid-ui --sele…"   2 hours ago         Up 2 hours (healthy)   0.0.0.0:8083->8080/tcp   selenoid-ui
    05bf58b73f53        aerokube/selenoid:latest      "/usr/bin/selenoid -…"   2 hours ago         Up 2 hours             0.0.0.0:4444->4444/tcp   selenoid
    
    REPOSITORY             TAG                 IMAGE ID            CREATED             SIZE
    aerokube/selenoid-ui   latest              71ad7fb4efa7        5 days ago          17.5MB
    aerokube/selenoid      latest              b8f47d114751        11 days ago         16.3MB
    selenoid/vnc           chrome_65.0         dff07a4cfe6d        2 years ago         959MB
    
    6.打开

    networks:
       -selenoid
    
     network_mode: bridge 
             
    
    http://localhost:8083
    
    乐趣

    如果不工作,直接问我

    http://localhost:8083