我正在寻找一些帮助来构建一个强大的docker-compose文件。 我在我的私人存储库中有我的docker镜像,之前我曾经拉过所有图像然后用来单独试用docker run命令来构建一个容器。现在我打算建立一个docker-compose文件。
使用的手动命令:
docker run --restart unless-stopped -t -d --name test_rest -p 9095:80 --entrypoint dotnet test_rest script_var.Core.dll test_var:MongoSource=mongodb://192.168.22.22 KafkaReceiveStream:KafkaBroker=192.168.22.22:9092 KafkaReceiveStream:KafkaTopic=testevents KafkaSendStream:KafkaTopic=test_key KafkaSendStream:KafkaBroker=192.168.22.22:9092
docker run --restart unless-stopped -t -d --name test_app1 -p 9096:80 --entrypoint dotnet test_app1 script_var.Core.dll test_var:MongoSource=mongodb://192.168.22.22
docker run --restart unless-stopped -t -d --name test_app2 --entrypoint dotnet test_app2 script_var.Core.dll
现在我想从上面的命令中构建一个docker-compose文件。
version: '2.1'
networks:
mynetwork:
driver: bridge
services:
test_reste:
image: test_rest
ports:
- "9095:80"
networks:
- mynetwork
test_app1:
image: test_app1
ports:
- "9096:80"
networks:
- mynetwork
test_app2:
image: test_app2
networks:
- mynetwork
我们如何在docker-compose文件中添加入口点,我试图添加
image: test_rest
entrypoint:
- dotnet
- test_rest
- script_var.Core.dll
.
.
.
这是我得到的错误:
Did you mean to run dotnet SDK commands? Please install dotnet SDK from:
test_rest_1 | http://go.microsoft.com/fwlink/?LinkID=798306&clcid=0x409
有人可以帮助我如何解决这个问题?
提前致谢。
答案 0 :(得分:0)
不确定是否最终弄清楚了这一点,但是放置ENTRYPOINT
的位置在Dockerfile
中,而不是docker-compose
文件中。
所以您的Dockerfile
可能看起来像这样:
FROM microsoft/dotnet:2.1-aspnetcore-runtime AS base
WORKDIR /app
EXPOSE 9095
EXPOSE 9096
FROM pathToYourImage AS build
WORKDIR /src
# ... you should already have a Dockerfile for your private repos images? ...
ENTRYPOINT ["dotnet", "test_rest.dll"]
编辑1:抱歉,您可以在撰写内容中添加入口点。例如:
entrypoint: ["dotnet", "test_rest.dll"]