是否有可能从Dockerfile构建镜像,并使用一个命令运行它? docker build命令用于构建Dockerfile, docker run -it命令用于运行映像。
是否存在这两个命令的组合,以使仅使用一个命令就可以更容易地构建和运行?
是否有可能从Dockerfile构建镜像,并使用一个命令运行它? docker build命令用于构建Dockerfile, docker run -it命令用于运行映像。
是否存在这两个命令的组合,以使仅使用一个命令就可以更容易地构建和运行?
当前回答
Windows电脑
生成run.bat文件。然后在文件中添加这个:
docker build -t foo .
docker run -it foo
要使用powershell或cmd运行文件,请执行以下操作:
./run.bat
其他回答
如果你想避免标记,docker build -q只输出最终的图像散列,你可以使用它作为docker run的参数:
docker run -it $(docker build -q .)
如果你想在容器退出时自动移除,则在docker run中添加——rm。
docker run --rm -it $(docker build -q .)
Windows电脑
生成run.bat文件。然后在文件中添加这个:
docker build -t foo .
docker run -it foo
要使用powershell或cmd运行文件,请执行以下操作:
./run.bat
最近,我开始收到关于每次构建后使用docker扫描的宣传信息。
使用“docker扫描”对图像运行Snyk测试,以查找漏洞并学习如何修复它们
这是我过去常做的事:
docker build --quiet .
这就是现在的工作方式:
docker build --quiet . | head -n1
为了方便起见,我使用docker-compose,因为我正在构建的大多数应用程序迟早都会与外部服务通信,所以如果我无论如何都要使用它,为什么不从一开始就使用它呢?只需要docker-compose。yml:
version: "3"
services:
app:
build: .
然后运行应用程序:
docker-compose up --build app
它将重建图像或重用容器,这取决于是否对图像定义进行了更改。
你也可以做docker构建和管道图像名称,它输出到docker运行:
docker build . | tail -n1 | cut -d' ' -f3 | xargs -I{} docker run {}
Docker将为您提供多行文本…成功搭建18e77bc0d83a 最后一行的尾部是-n1 用' '分割,用cut -d' ' -f3得到第三个单词 将它作为参数传递给xargs运行-I{} docker run {}