我通过支持所有必要的文件系统并创建了一个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。
但是当我启动我的应用程序时,应用程序将正确启动。我正面临着这个错误 -
不允许操作
我如何能够提供正确的权限,以便它不会给我这个错误?
您可以尝试使用Runtime privilege and Linux capabilities设置Docker容器
docker run --privileged
Docker的理念是:将您的应用程序拆分为微服务,并为每个微服务使用容器。
Docker容器存储不是持久的。如果您删除容器,您的数据将丢失。您需要使用Docker卷,或绑定挂载以保留数据。
现在,如果你想把所有这些,并将几个服务放在Docker容器中(不推荐),我建议至少使用Dockerfile
从基本映像创建它。 DockerHub(库)中提供的这些基本映像针对容器化环境进行了优化,您可以根据需要在该映像中安装和配置服务。