一尘不染

在Ubuntu Live磁盘中运行Docker

docker

我想知道是否可以在 Ubuntu 14.04 USB Live-Disk中 安装和运行Docker 。

我正在尝试使用 8GB USB,4 GB用于安装和 4 GB用于持久存储的方法 ,但是在运行容器时,我总是遇到错误(拉出它们没有问题 )。

这是我的Docker版本:

$ sudo docker version
Client version: 1.6.2
Client API version: 1.18
Go version (client): go1.4.2
Git commit (client): 7c8fca2
OS/Arch (client): linux/amd64
Server version: 1.6.2
Server API version: 1.18
Go version (server): go1.4.2
Git commit (server): 7c8fca2
OS/Arch (server): linux/amd64

我在运行Docker容器时遇到的当前错误是:

[8] System error: mountpoint for cpu not found

OBS:有时错误是 cpuset 或找不到 设备

我正在使用的活动磁盘的内核是:

$ uname -r
3.13.0-32-generic

如果Ubuntu活动磁盘不是运行Docker的最佳活动磁盘,是否还有 其他替代方案带有GUI ,而不仅仅是运行Docker 的简单终端?

我之所以这样说是因为我想向父母介绍Docker,但是他们不想在自己的PC上安装Linux,因此我需要一些简单的图形界面来记下Dockerfile,打开浏览器等。


更新

我看到在安装过程中设置cgroup-lite依赖项时出错initctl: Unknown job: cgroup- lite。我还读到一些ubuntu需要安装 apparmor, 以便docker安装可以正常工作。

所以我安装了它并重新安装了docker(cgroup-lite安装没有问题,然后),现在我在运行 sudo docker -d

INFO[0000] +job serveapi(unix:///var/run/docker.sock)   
INFO[0000] Listening for HTTP on unix (/var/run/docker.sock) 
INFO[0000] +job init_networkdriver()                    
INFO[0000] -job init_networkdriver() = OK (0)           
WARN[0004] Your kernel does not support cgroup swap limit. 
INFO[0004] Loading containers: start.                   
......
INFO[0004] Loading containers: done.                    
INFO[0004] docker daemon: 1.6.2 7c8fca2; execdriver: native-0.2; graphdriver: aufs 
INFO[0004] +job acceptconnections()                     
INFO[0004] -job acceptconnections() = OK (0)            
INFO[0004] Daemon has completed initialization

当尝试运行容器时,我收到>

ERRO[0125] HTTP Error: statusCode=500 Cannot start container 90875e79dec37cec41a67aac235b81f0fc17c4e011cd6e5368a4b29336587f5b: 
[8] System error: permission denied

不确定内核是否不支持cgroup,但是如果是这样,那么是否有可能在livedisk中更新内核(持久存在?)?


阅读 268

收藏
2020-06-17

共1个答案

一尘不染

我设法通过将Docker存储更改为 devicemapper 而不是 AUFS 来使此工作 生效

如果您的系统不使用Systemd

您只需要更改/etc/default/docker就可以了:

DOCKER_OPTS="--storage-driver=devicemapper"

如果您的系统使用Systemd

请参阅此答案,并--storage-driver=devicemapper在docker start命令的末尾添加。

我已经设法使容器正常运行,但是我更喜欢使用AUFS。

我意识到该分区默认情况下不使用aufs,而是类似cawor的cow(现在不记得了)。

我还尝试使用AUFS union=aufs和grub中的标志使其工作,但是在运行docker守护程序时,我得到了FATA[0000] Shuttingdown daemon due to errors: error intializing graphdriver: backing file system is unsupported for this graphdriver,它看起来与https://github.com/docker/docker/issues/7321相关

我将在这里留下答案,因为这是解决此问题的方法,但是,如果有人设法使用AUFS进行此项工作,我认为这将是一个更好的答案。

2020-06-17