任何人都可以提供有关如何通过Docker将参数传递给Swift项目的帮助吗?
这是我为Swift编写的课程:
import Foundation
print("Hello, world!")
// There is always one argument passed, which is the name of the program,
// that is the file name.
if CommandLine.argc < 2 {
print("No arguments are passed.")
let firstArgument = CommandLine.arguments[0]
print(firstArgument)
} else {
print("Arguments are passed.")
let arguments = CommandLine.arguments
for argument in arguments {
print(argument)
}
}
这是我运行的命令:
docker build -t my-swift-image .
docker run --rm my-swift-image
Dockerfile
FROM swift
WORKDIR /app
COPY . ./
CMD swift package clean
CMD swift run
文件夹结构
- app
- Sources
- SuiteTest
- main.swift
app / Sources / SuiteTest
尝试
docker run --rm -it my-swift-image arg1 arg2
将参数添加到命令行。这样可以在这样的设置中工作
Dockerfile:
FROM swift
COPY . /myapp
WORKDIR /myapp
ENTRYPOINT ["swift", "run", "myapp"]
使用以下图像构建并运行
docker build -t myapp .
docker run --rm -it myapp arg1 arg2