mysql - 如何在 VDS (lxd/containers) 上运行 docker

标签 mysql linux docker debian lxd

我有类似 lxd/container 的 VDS(我看到它是 df -h)。 os安装的是debian 7.11。内核:

uname -r
4.13.0-19-generic

我想在安装到 VDS 的 docker 中运行 mysql。我拉 mysql:

docker images
mysql/mysql-server   5.5      5eb4590ee5eb     8 days ago      180MB

但是当我尝试从 root 运行时我排除了错误

# docker run --privileged --name=mysql2 -d mysql/mysql-server:5.5
a2f7cd827f0d7f2993bcb3c877fd53ae14727d7bf840d768bb2f0b5fc2e0df97
docker: Error response from daemon: OCI runtime create failed: container_linux.go:296: starting container process caused "process_linux.go:398: container init caused \"rootfs_linux.go:58: mounting \\\"proc\\\" to rootfs \\\"/var/lib/docker/vfs/dir/52c9680a80799cb05d6d423b329cd15486882b7e196dcbd435084287f0d823bf\\\" at \\\"/proc\\\" caused \\\"permission denied\\\"\"": unknown.

当我安装 docker 时,我排除了警告 mount: permission denied,但安装了 docker。 当我运行 docker 时,我收到警告

service docker start
mount: permission denied
mount: permission denied
mount: permission denied
mount: permission denied
[....] Starting Docker: docker

但服务正在运行

service docker status
[ ok ] Docker is running.

我没有看到系统日志,我的目录/var/log是

-rw-r--r-- 1 root  root      12438 Jan 24 08:19 alternatives.log
drwxr-xr-x 2 root  root          4 Jan 20 00:47 apt
-rw-r--r-- 1 root  root     244986 Jan 20 00:47 bootstrap.log
-rw-rw---- 1 root  utmp          0 Jan 20 00:46 btmp
-rw-r----- 1 root  adm           0 Jan 24 09:12 dmesg
-rw-r----- 1 root  adm           0 Jan 23 11:52 dmesg.0
-rw-r----- 1 root  adm          28 Jan 22 12:02 dmesg.1.gz
-rw-r--r-- 1 root  docker    24714 Jan 24 10:36 docker.log
-rw-r--r-- 1 root  root     330467 Jan 24 08:56 dpkg.log
-rw-r--r-- 1 root  root       3296 Jan 21 21:47 faillog
drwxr-xr-x 2 root  root          4 Jan 20 00:47 fsck
-rw-rw-r-- 1 root  utmp      30076 Jan 24 09:20 lastlog
drwxr-s--- 2 mysql adm           2 Jan 21 21:47 mysql
drwxr-xr-x 2 root  root          3 Jan 24 09:11 unattended-upgrades
-rw-rw-r-- 1 root  utmp   27376128 Jan 24 10:53 wtmp

在 docker.log 中

time="2018-01-24T11:00:19.694045397+02:00" level=info msg="ignoring event" module=libcontainerd namespace=moby topic=/containers/create type="*events.ContainerCreate"
time="2018-01-24T11:00:19+02:00" level=info msg="shim docker-containerd-shim started" address="/containerd-shim/moby/1be5433094ef58b7124ffcf9b5ee5e86b474a9129bf3f747a5bfc7e07767ac5a/shim.sock" debug=false module="containerd/tasks" pid=3027 
time="2018-01-24T11:00:19+02:00" level=info msg="shim reaped" id=1be5433094ef58b7124ffcf9b5ee5e86b474a9129bf3f747a5bfc7e07767ac5a module="containerd/tasks" 
time="2018-01-24T11:00:19.939970415+02:00" level=error msg="stream copy error: reading from a closed fifo"
time="2018-01-24T11:00:19.940053674+02:00" level=error msg="stream copy error: reading from a closed fifo"
time="2018-01-24T11:00:19.942454319+02:00" level=info msg="ignoring event" module=libcontainerd namespace=moby topic=/containers/delete type="*events.ContainerDelete"
time="2018-01-24T11:00:20.120509909+02:00" level=error msg="1be5433094ef58b7124ffcf9b5ee5e86b474a9129bf3f747a5bfc7e07767ac5a cleanup: failed to delete container from containerd: no such container"

你能帮帮我吗?

最佳答案

为了在 LXD 容器中运行 Docker,您需要启用容器嵌套。嵌套是指一个容器(来自LXD)里面可以有一个容器(docker)。

像这样启动容器,

lxc launch ubuntu:x mydockers -c security.nesting=true

如果 LXD 容器已经创建,则添加标志

lxc config set mydockers security.nesting true
lxc restart mydockers

关于mysql - 如何在 VDS (lxd/containers) 上运行 docker,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48418769/

相关文章:

node.js - 使用 apt-get 安装特定的 NodeJS 版本

bash - Azure docker 注册表 - 用于检查 docker 标记是否已存在的 bash 脚本

php - 使用 PHP 修剪/正确显示 Time MySQL 数据类型

mysql - 为什么不同数据库上的两个mysql锁定和刷新语句挂起

MySQL 选择最后一个斜杠后的文本

ruby - 带 docker 的 nginx 没有正确代理到我的 ruby​​ 应用程序

docker - InitContainer 从 Kubernetes 中的容器镜像中使用 config.template

php - Mysql Insert Error 找不到问题

c++ - 使用 PulseAudio 和 C/C++ 录制计算机声音

php - LoadModule 有两个参数,一个模块名称和一个共享对象文件的名称来加载它