我使用docker swarm部署了一个数据库
docker stack deploy -c docker-compose.yml app
泊坞窗,compose.yml
version: '3.1'
services:
database:
image: mongo:latest
我想在部署的script.js
容器中从我的主机运行一个JavaScript文件database
:
docker exec \
app_database.1.$(docker service ps -f 'name=app_database.1' app_database -q) \
mongo script.js
但是,容器中不存在文件script.js
(仅在我的主机上)。如何在不重新启动database
服务的情况下运行它?
可以在stdin上将脚本发送到mongo
客户端。
在本地创建脚本:
print('The mongodb version is: '+db.version())
然后跑
$ cat script.js | docker exec $container mongo --quiet
The mongodb version is: 3.6.3