我正在尝试使用selenium和Python创建多个包含RPA的容器,如果不在每个容器中安装python及其库,我如何才能做到这一点?就像一个包含所有依赖项的基本容器,我可以将这些依赖项导出到其他容器。或者无法做到这一点?
services:
chromedriver:
container_name: chromedriver
image: selenium/standalone-chrome:latest
shm_size: 2gb
ports:
- 4444:4444
- 5900:5900
restart: always
bank_1:
build:
dockerfile: Dockerfile-bank1
container_name: bank_1
command: python3 bank_1.py
ports:
- 8000:8000
depends_on:
- chromedriver
bank_2:
build:
dockerfile: Dockerfile-bank1
container_name: bank_2
command: python3 bank_2.py
ports:
- 8001:8001
depends_on:
- chromedriver
1条答案
按热度按时间whlutmcx1#
通常的做法是创建一个映像并将其托管在DockerHub/ECR上。当您更改代码时,您将重新构建映像并推送新版本,这意味着依赖项将被重新获取一次。然后您的docker-compose服务将根据需要多次引用此远程映像。
要自动重建映像,您可以使用CircleCI或GitHub Actions等工具。
(If如果您只在本地运行此映像,则可以跳过CI和DockerHub部分,而只在计算机上构建映像。)
另请注意,通常不会在合成文件中复制服务本身,而是使用
docker service scale
或反向代理(如traefik)来管理多个相同的示例。