Docker:如何避免在Docker容器中不允许的操作?

我创build了一个sles12机器的docker映像,通过支持所有需要的文件系统并创build一个tar文件。 为了创builddocker图像我运行以下命令 –

cat fullbackup.tar | docker import - sles_image 

之后,我使用下面的命令在容器中运行docker映像 –

 docker run --net network1 -i -t sles_image /bin/bash 

注意 – 我已经在这个docker集装箱(我想要的IP地址)中build立networking。

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

但是当我开始我的应用程序,应用程序将正确启动。 我正面临这个错误 –

不允许操作

我如何给予正确的权限,以便它不会给我这个错误?

您可以尝试使用Runtime特权和Linuxfunction来设置Docker容器

docker运行 – 特权

Docker哲学:将你的应用程序分解成microservices并为每个microservice使用一个容器。

Docker container的存储不是persistent 。 如果您删除容器,您的数据将会丢失。 你需要使用docker volumes ,或者Bind mounts预设你的presistent data

现在,如果你想重新开始,并把一些服务放在一个docker container不推荐 )中,我推荐至less使用一个dockerfile来从一个base image创build它。 docker hub (library)中提供的这些base images针对集装箱环境进行了优化,您可以按照您认为适合的forms安装和configuration您的服务。