栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

在Docker容器启动后运行命令

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

在Docker容器启动后运行命令

问题是在容器中仅执行一个命令。当您在

docker-compose.yml
其中指定命令时,它将覆盖默认命令,该默认命令应用于启动容器。所以你有两个选择

手动运行命令

services:  tmp-db:    image: microsoft/mssql-server-linux:latest    environment:      ACCEPT_EULA: Y      SA_PASSWORD: yourStrong(!)Password    ports:    - 1433:1433

然后你可以执行

docker-compose exec tmp-db /opt/mssql-tools/bin/sqlcmd -U sa -P yourStrong(!)Password -Q "SELECt [name] FROM sys.databases"

有两项服务-一项用于服务器,一项用于数据加载

services:  load-db:    image: microsoft/mssql-server-linux:latest    command: sh -c 'sleep 10 && /opt/mssql-tools/bin/sqlcmd -U sa -P yourStrong(!)Password -Q "SELECt [name] FROM sys.databases"'    network_mode: service:tmp-db  tmp-db:    image: microsoft/mssql-server-linux:latest    environment:      ACCEPT_EULA: Y      SA_PASSWORD: yourStrong(!)Password    ports:    - 1433:1433

在这种方法中,我们使用命令加载数据来启动另一个容器,然后在数据库服务器容器的网络上运行它。这样做只是为了避免使用数据库的主机名,如果您愿意,也可以将主机名作为传递,

tmp-db
并删除
network_mode: service:tmp-db



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/399340.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号