我试图从一台机器上获取一个 docker 容器并在另一台机器上运行它并遇到此错误:“来自守护进程的错误响应:未指定命令”。
下面是一个显示问题的简化示例:
docker --version
Docker version 1.10.1, build 9e83765
docker pull ubuntu
docker run --name u1 -dit ubuntu:latest
docker export -o exported u1
docker stop u1
docker rm u1
docker import exported ubuntu:imported
docker run --name u1 -dit ubuntu:imported
docker: Error response from daemon: No command specified.
Run Code Online (Sandbox Code Playgroud)
在那个例子中,我们首先拉取一个镜像 (ubuntu) 并u1从它成功创建/运行容器。然后我们将该容器导出到文件 ( exported),停止/删除容器,将文件导入新映像 ( ubuntu:imported) 并尝试从中运行新容器。它失败。
我的目标是为 KVM 来宾设置对 9p 共享的完全写入访问权限。主机和来宾都具有相同 ID 的相同用户/组。主机和来宾都应该能够使用相同的用户名写入共享,我不想区分文件是由主机写入还是由来宾写入。kvm 进程以 root 身份运行——我在 /etc/libvirt/qemu.conf 中设置了user和groupto root。
在主机上的guest定义中,共享定义如下:
<filesystem type='mount' accessmode='passthrough'>
<source dir='/mnt/storage/data'/>
<target dir='data'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
</filesystem>
Run Code Online (Sandbox Code Playgroud)
在来宾中,共享安装为:
mount -t 9p -o rw,trans=virtio,version=9p2000.L,msize=262144 data /mnt/data
Run Code Online (Sandbox Code Playgroud)
问题是来宾中的 root 用户无法写入主机上非 root 用户拥有的文件/文件夹。更奇怪的是,guest 的 root 可以重命名和删除此类文件。也就是说,当我在主机上以非 root 用户身份创建文件时,即使我可以重命名和删除它,我也无法以访客的 root 用户身份编辑它!
我还发现,在主机上以非 root 用户创建的文件夹的权限设置为 777,来宾的 root 可以写入(即在其中创建文件)。但是,这不适用于文件 - 无论权限如何,它们仍然无法编辑。
主机和来宾都运行 Linux 服务器 3.2.0-4-amd64 #1 SMP Debian 3.2.51-1 x86_64 GNU/Linux。在 Debian 中,SELinux 默认是禁用的,我没有启用它。我尝试了所有三种可用的 9p 访问模式(passthrough、mapped和 …
我即将在 OpenVZ 容器中设置一个数据库服务器 (MySQL),我一直想知道应该为它分配多少 CPU。我决定对其进行基准测试。我比较了两个 OS/MySQL 发行版,并测试了它们在 1、2、3 和 4 个 CPU 上的表现。
第一个软件配置是:
第二:
两者都在同一内核上运行 - 2.6.32-openvz-042stab083.2-amd64 #1 SMP Fri Nov 8 17:59:25 MSK 2013 x86_64 GNU/Linux。
所有软件都是从软件包中安装的,开箱即用,无需任何自定义配置调整。
硬件:6GB RAM,1-4 个 CPU 3.5 GHz。
对于基准测试,我在以下场景中使用了 sysbench:
sysbench --test=oltp --oltp-table-size=1000000 --mysql-db=test --mysql-user=root --db-driver=mysql --mysql-password=d prepare
sysbench --test=oltp --oltp-table-size=1000000 --mysql-db=test --mysql-user=root --db-driver=mysql …Run Code Online (Sandbox Code Playgroud) 我在尝试时收到“此密码没有可用的密钥。 ”:
sudo cryptsetup open --type luks /dev/sdc storage --key-file=/path/to/keyfile
该/path/to/keyfile文件仅包含纯文本形式的密码。
如果我在交互式询问时输入相同的密码:
sudo cryptsetup open --type luks /dev/sdc storage
然后就可以了。
为什么--key-file在这种情况下不起作用?这是 Ubuntu 14.04 @ Linux 3.13.0-68。
9p ×1
amazon-ec2 ×1
benchmark ×1
docker ×1
luks ×1
mysql ×1
performance ×1
permissions ×1
qemu ×1