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

问题描述:

我创建了一个sles12机器的docker镜像,通过支持所有需要的文件系统并创建一个tar文件。为了创建搬运工像我运行下面的命令 -Docker:如何避免在Docker Container中不允许操作?

cat fullbackup.tar | docker import - sles_image 

之后,我在容器中使用以下命令运行码头工人形象 -

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

说明 - 我已经在此设立泊坞窗容器的网络(IP地址,该地址我想要)。

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

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

操作不允许

我怎样才能给出正确的权限,这样才不会给我这个错误?

Docker理念:将您的应用程序拆分为microservices,并为每个microservice使用一个容器。

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

现在,如果你想要去反对票一切,并把几个服务的码头工人container不推荐),我建议至少使用dockerfilebase image创建它。这些base images(可在docker hub (library)中获得)针对集装箱环境进行了优化,并且您可以按照您认为合适的方式安装和配置您的服务image

+0

@ Farhad-我不想使用泊坞窗基本图像,您可在枢纽并在其中安装定制软件。我想使用我现有的图像,因此仅为此目的提供解决方案。 – kit

+0

我只是把这里提高意识,以防我们可以帮助别人。 –

+0

@ Farhad-是否有任何方法为现有码头集装箱提供许可来提供码头卷? – kit

,你可以尝试用Runtime privilege and Linux capabilities设置泊坞容器,与

搬运工运行--privileged