我是一名docker新手,所以我的问题可能有点基础。
我有一个VS.Net Core2控制台应用程序,能够接受一些命令行参数并提供不同的服务。所以在普通的命令提示符中,我可以运行像这样的命令:
c:>dotnet myapplication.dll 5000 .\mydb1.db
c:>dotnet myapplication.dll 5001 .\mydb2.db
这将创建2个实例,分别监听端口5000
和5001
。
我现在想为这个应用程序创建一个Docker容器,并运行该镜像的多个实例,并能够将此参数作为一个命令行传递给docker run
命令。但我无法看到如何在docker-compose.yml
或者Dockerfile
中进行配置。
DockerFile
FROM microsoft/dotnet:2.1-aspnetcore-runtime AS base
WORKDIR /app
EXPOSE 80
# ignoring some of the code here
ENTRYPOINT ["dotnet", "myapplication.dll"]
docker-Compose.yml
version: '3.4'
services:
my.app:
image: ${DOCKER_REGISTRY}my/app
ports:
- 5000:80
build:
context: .
dockerfile: dir/Dockerfile
我正在尝试避免为每个命令行参数组合创建多个图像。那么是否有可能实现我想要的效果呢?