我正在尝试使用Phoronix Test Suite 6.4.0里程碑2对运行Docker的整体系统性能进行基准测试,该测试套件在一个基于fedora:23镜像的容器中运行。
必须考虑的一件事是,Docker使用专有的UnionFS来存储数据。然而,当在Docker中运行一个真实的应用程序(如Apache)时,持久数据通常存储在主机上的一个专用文件夹中,该文件夹在标准的Linux文件系统(如ext4 )上运行,在我的例子中是btrfs。
我建议的解决方案是使用"“将主机目录挂载到docker中。问题是,我不知道基准测试中将使用哪些目录,并且必须将其挂载到Docker容器中。
例如,测试
在我的centos系统中,我向group docker添加了一个用户,我发现这样的用户可以通过docker run -it -v path-to-directory:directory-in-container将文件夹附加到容器来访问任何文件夹。例如,我有一个模式为700的文件夹,它只能通过超级用户访问,但是如果没有访问该文件夹的权限的人运行一个容器并将该文件夹挂载到容器中,他就可以在container.How中访问该文件夹。我能防止这样的用户将未经授权的目录附加到docker容器吗?我的docker版本是17.03.0-ce,system os centOS 7.0。谢谢!
我有这个pod定义: apiVersion: v1
kind: Pod
spec:
securityContext:
runAsUser: 1000
runAsGroup: 1000
fsGroup: 998 # Group ID of docker group on the node
containers:
- name: someconainter
image: someimage
resources:
requests:
memory: "8G"
c
我创建了一个Docker dotnet2.1核心代码,它将在C#中运行,以列出Docker应用程序文件夹中的文件。
class Program
{
static void Main(string[] args)
{
Console.WriteLine("listing...");
foreach (var f in Directory.GetFiles(Directory.GetCurrentDirectory()))
{
Console.WriteLine(f);
}
我在使用redis数据库中的数据创建docker redis容器的图像时遇到了问题。目前我正在做这件事:
docker pull redis
docker run --name my-redis -p 6379:6379 -d redis
redis-cli
127.0.0.1:6379> set hello world
OK
127.0.0.1:6379> save
OK
127.0.0.1:6379> exit
docker stop my-redis
docker commit my-redis redis_with_data
docker run --name my-