docker执行run命令,加上--privileged和/usr/sbin/init,然后就跳出图形化界面(KDE),进不去了
时间: 2024-01-07 18:03:24 浏览: 55
加上`--privileged`选项后,Docker容器将会拥有主机的所有特权,包括访问主机的设备和文件系统。加上`/usr/sbin/init`选项是为了启动容器中的systemd,这是一个Linux系统初始化进程。
在启动容器时,如果加上了这两个选项,容器会启动一个完整的操作系统,包括图形界面。但是,由于容器没有真正的显卡设备,所以无法在容器中显示图形界面。因此,您无法在容器内看到图形界面,也无法在容器内使用图形界面。
如果需要在容器内使用图形界面,您可以考虑使用X11转发技术,将图形界面转发到主机上。具体的实现方法可以参考X11转发的相关文档。
相关问题
帮我解释一下这段命令的意思(docker run -itd --name=centos01 -h master -p 60004:22 50070:50070 --privileged centos:centos7 /usr/sbin/init)
这段命令的意思是:
运行一个 Docker 容器,并设置以下参数:
- `-itd`:以交互(Interactive)、终端(Terminal)及后台运行(Detached)的方式启动容器。
- `--name=centos01`:设置容器的名称为 centos01。
- `-h master`:设置容器的主机名为 master。
- `-p 60004:22 50070:50070`:将宿主机的 60004 端口映射到容器的 22 端口,将宿主机的 50070 端口映射到容器的 50070 端口。
- `--privileged`:启动特权模式。
- `centos:centos7`:基于 centos 镜像的 centos7 版本启动容器。
- `/usr/sbin/init`:设置容器启动时执行的命令为 `/usr/sbin/init`,使容器具备系统初始化的能力。
ExecStart=/usr/local/sbin/dockerd --selinux-enabled=false -H unix:///var/run/docker.sock -H tcp://0.0.0.0:2375 --data-root=/data/docker 作用是
ExecStart=/usr/local/sbin/dockerd --selinux-enabled=false -H unix:///var/run/docker.sock -H tcp://0.0.0.0:2375 --data-root=/data/docker 这个命令是用来启动 Docker 守护进程的。具体来说,这个命令中包含了一些参数:
1. --selinux-enabled=false 表示 Docker 容器中不启用 SELinux;
2. -H 参数指定 Docker 服务监听的地址,这里是 unix:///var/run/docker.sock 和 tcp://0.0.0.0:2375,分别代表 Unix 套接字和 TCP 端口;
3. --data-root=/data/docker 表示 Docker 的数据存储目录为 /data/docker。
通过这个命令启动 Docker 守护进程后,就可以使用 Docker 相关命令进行容器的创建、启动、停止等操作。