我是Docker的新手,尝试在Docker上运行Selenium Grid测试。为此,我创建了一个docker-compose文件,并执行了以下命令:
docker-compose -f docker-compose.yaml up
一切都运行良好,但几个小时后我重新启动了主机并再次执行了上述命令。这次我遇到了以下错误:
ERROR: for selenium-hub Cannot create container for service selenium-hub: Conflict. The container name "/selenium-hub" is already in use by container "some-hash". You have to remove (or rename) that container to be able to reuse that name.
我尝试了docker-compose -f docker-compose.yaml run selenium-hub
命令,但是这个命令并没有启动selenium节点。所以我的问题是-
- 我需要在每次运行docker compose之前都删除容器吗?
- 有没有办法使用类似于docker-compose的文件,这样每次重新启动docker时,我只需运行该文件即可同时启动所有容器?
下面是我使用的Docker-Compose文件
version: "3"
services:
selenium-hub:
image: selenium/hub:3.141.59-20200525
container_name: selenium-hub
ports:
- "4444:4444"
chrome:
image: selenium/node-chrome:3.141.59-20200525
volumes:
- /dev/shm:/dev/shm
depends_on:
- selenium-hub
environment:
- HUB_HOST=selenium-hub
- HUB_PORT=4444
firefox:
image: selenium/node-firefox:3.141.59-20200525
volumes:
- /dev/shm:/dev/shm
depends_on:
- selenium-hub
environment:
- HUB_HOST=selenium-hub
- HUB_PORT=4444
opera:
image: selenium/node-opera:3.141.59-20200525
volumes:
- /dev/shm:/dev/shm
depends_on:
- selenium-hub
environment:
- HUB_HOST=selenium-hub
- HUB_PORT=4444