我想在docker镜像中运行docker守护进程。我知道我可以通过在运行我的docker镜像期间暴露外部docker进程轻松实现这一点,但不幸的是我无法控制我的图像运行方式。我不能使用DIND。
因此,我想在Dockerfile或我的入口点的某个脚本中启动docker服务。我试着调用命令:
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *Path = [NSString stringWithFormat:@"%@/%@%@",documentsDirectory,@"file"@".txt"];
[str writeToFile:Path atomically:YES encoding:NSUTF8StringEncoding error:&error];
NSString *fn=@"file";
NSString *searchFilename =[fn stringByAppendingString:@".txt"]; // name of the PDF you are searching for
NSArray *pathss = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectorys = [pathss objectAtIndex:0];
NSDirectoryEnumerator *direnum = [[NSFileManager defaultManager] enumeratorAtPath:documentsDirectorys];
NSString *documentsSubpath;
BOOL fileFound = false;
while (documentsSubpath = [direnum nextObject])
{
if (![documentsSubpath.lastPathComponent isEqual:searchFilename]) {
continue;
fileFound=NO;
}
NSLog(@"found %@", documentsSubpath);
fileFound =YES;
}
if(fileFound){
NSLog(@"File Found");///this line is execute when i run this code
}
在映像中下载并安装docker后,在某些脚本CMD service docker start
中包含此命令并调用它:
start.sh
这些都不起作用。是否可以按我的意愿运行docker,或者我做错了什么,或者在我的执行环境中是不可能的?
答案 0 :(得分:1)
根据您的要求,您不能。
要在docker容器内运行docker服务,您需要修改容器的启动方式,以便为默认情况下外部docker服务限制提供内部docker服务权限。
答案 1 :(得分:0)
我建议使用DIND容器(Docker中的Docker)
$query=tep_db_query("SELECT
o.orders_products_id
, o.orders_products_filename
, o.orders_date
, c.customers_id
, c.customers_firstname
, c.customers_lastname
, c.customers_email_address
FROM orders_products_download as o ,customers as c ,deviceid_ebcreader as d
WHERE (o.customers_id=c.customers_id) && (o.customers_id!=d.user_id)
LIMIT {$startpoint} , {$limit}");
指向Docker Hub的链接:https://hub.docker.com/_/docker/