Docker:如何避免Docker Container中不允许操作?

时间:2016-12-16 06:33:13

标签: docker permissions suse

我通过支持所有必要的文件系统并创建了一个tar文件,创建了sles12机器的一个docker镜像。为了创建docker镜像,我运行以下命令 -

cat fullbackup.tar | docker import - sles_image

之后,我使用下面的命令 -

在容器中运行docker image
docker run --net network1 -i -t sles_image /bin/bash

注意 - 我已在此docker容器中设置了网络(我想要的IP地址)。

现在在我的docker容器中,已经配置了一些应用程序,因为应用程序在我创建此docker镜像的sles12机器中可用。这些自定义应用程序在内部运行一些内核低级命令,如modprobe

但是当我启动应用程序时,应用程序将正确启动。我正面临这个错误 -

  

不允许操作

我如何才能提供正确的权限,以免它给我这个错误?

2 个答案:

答案 0 :(得分:6)

您可以尝试使用

将Docker容器设置为Runtime privilege and Linux capabilities
  

docker run --privileged

答案 1 :(得分:0)

Docker的理念是:将您的应用程序拆分为微服务,并为每个微服务使用容器。

Docker容器存储不是持久性的。如果您删除容器,您的数据将丢失。您需要使用Docker卷,或绑定挂载以保留数据。

现在,如果您想再次使用,并将几个服务放在Docker容器中(不推荐),我建议至少使用Dockerfile来创建它基本形象。 DockerHub(库)中提供的这些基本映像针对容器化环境进行了优化,您可以根据需要安装和配置服务。