Я новичок в Docker и пытаюсь запустить тесты Selenium Grid на Docker. Для этой цели я создал файл 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
, но эта команда не запускает узлы селена. Итак, мои вопросы:
- Нужно ли мне удалять контейнер каждый раз перед повторным запуском 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