我要使用的是: private void Build()
{
var container = new Container();
var serviceLocatorProvider = new StructureMapServiceLocator(container);
ServiceLocator.SetLocatorProvider(() => serviceLocatorProvider);
Locator = serviceLocatorProvider;
// Apply the registry to the container
container.Configure(x =>
{
// register the container itself
x.For<IServiceLocator>().Use(serviceLocatorProvider);
x.AddRegistry<Domain.Registry>();
});
}
。
如何验证远程标记已更改?所以我可以:
docker pull <someimage>:<sometag>
这在使用标记为{if [ CHECK_IF_REMOTE_TAG_IMAGE_HAS_CHANGED ]; then
docker rm <someimage>:<sometag>
docker pull <someimage>:<sometag>
fi
的容器时会派上用场。
答案 0 :(得分:2)
当两个图像都标记有 version latest
时,您可以使用container-diff比较容器图像。
答案 1 :(得分:0)
docker inspect -f {{.Id}} mongo:latest
为您提供随每个构建而变化的映像的ID [猜测docker构建是用于更改/修改映像的对象]-我不确定使用docker save时的行为。示例Dockerfile将镜像mongo:latest和新标签更改为mongo:test1
FROM mongo:latest
COPY ./test.txt /tmp
$> docker build -t mongo:test1 .
用于比较mongo:latest和mongo:test1的Shell脚本
ID1=$(docker inspect -f {{.Id}} mongo:latest)
ID2=$(docker inspect -f {{.Id}} mongo:test1)
if [ "$ID1" == "$ID2" ]
then
echo "Same Image"
else
echo "Image changed"
fi
输出
图片已更改