在AWS Linux上使用Docker和Selenium Grid启动Chrome服务时,可能会遇到“端口已分配错误”的问题。这通常是由于Docker容器和主机之间的端口冲突导致的。以下是解决此问题的步骤和代码示例:
sudo yum update -y
sudo yum install docker -y
sudo service docker start
sudo usermod -a -G docker ec2-user
sudo systemctl enable docker
sudo yum install -y docker-compose
selenium-hub
的文件夹,并在该文件夹中创建一个名为docker-compose.yml
的文件,内容如下:version: "3"
services:
selenium-hub:
image: selenium/hub:3.141.59
ports:
- "4444:4444"
chrome:
image: selenium/node-chrome:3.141.59
depends_on:
- selenium-hub
environment:
- HUB_HOST=selenium-hub
ports:
- "5900:5900"
selenium-hub
文件夹,并使用以下命令启动Selenium Grid:docker-compose up -d
docker ps
docker-compose.yml
文件中,将ports
部分的端口映射值更改为未被占用的端口。例如:ports:
- "4445:4444"
docker-compose.yml
文件,并重新启动Selenium Grid:docker-compose down
docker-compose up -d
这样,您应该能够成功启动Chrome服务并避免端口冲突错误。
希望以上解决方法对您有所帮助!
上一篇:AWS-Lamdanodejs在AWS上没有推送度量指标,但在本地运行时可以工作。
下一篇:aws-load-balancer-controller错误:无法从*v1.Ingress获取日志:*v1.Ingress的选择器未实现