docker从镜像创建容器命令

docker镜像创建容器命令需要注意什么?Image 镜像文件,对比PC端的概念,我们可以把它理解为服务器端的可执行软件包。Dockerfile 用于创建image镜像的模板文件,出于管理和安全的考虑,docker官方建议所有的镜像文件应该由dockerfile来创建。

docker容器的生命周期,就是一个镜像文件从产生、运行到停止的过程。可将docker生命周期拆为两个大阶段,非生产环境阶段和生产环境阶段,非生产环境中保证镜像安全可信,生产环境中保证镜像正确的运行。保证非生产环境中的镜像安全应遵循以下方面:

容器使用非root用户运行

为了防止容器逃逸而获取宿主机的权限,容器内应用以非root用户身份运行,如果用户已经在容器镜像中定义,则默认情况下容器将作为该用户运行,且不需要特定的用户命名空间重新映射。可以在Dockerfile中添加用户:

RUN useradd -d / home /username -m -s / bin / bash username USER username

使用安全的基础镜像

如果基础镜像存在安全问题,那整个镜像文件的安全性也无从谈起,用户可依据自身需求定制基础镜像,并强制需求组织内使用认可的基础镜像;也可使用第三方安全的镜像,这里推荐使用Alpine-linux,docker所有的官方镜像都使用其作为基础镜像,docker也会对其维护更新,所以安全性有保证。

删除镜像中的setuid和setgid权限

setuid和setgid权限可用于提权。虽然有时候必须要使用到,但如果被滥用,可能会导致非法的提升权限。可以在镜像中限制这些权限的使用。具体做法可参考:在构建镜像时通过在Dockerfile中添加以下命令来删除这些权限,一般在Dockerfile的末尾添加:RUN find / -perm +6000-type f-exec chmod a-s {} ;|| true

启用Docker的内容信任

内容信任允许当用户使用远程Docker仓库进行操作时,以执行镜像标记的客户端签名和验证。内容信任提供了对从Docker仓库发送和接收的数据使用数字签名的能力。这些签名允许客户端验证特定镜像标签的完整性。

对镜像进行安全漏洞扫描

镜像中包含了很多的插件及软件包,需要对这些软件包进行漏洞扫描,并依据结果安装补丁或更新软件,Coreos提供了一款开源docker镜像安全扫描器-Clair,Clair可对镜像文件进行静态的安全扫描,并结合CVE给出漏洞扫描结果。

融亿云的容器云是通过docker技术,在集群服务器上部署容器服务实现,拥有上万Linux镜像,功能强大、简单易用,可轻松作集群服务,自由组网、安全可靠。

高可用的的容器云

标签:
最后更新:2022/10/24
免责声明:本站部分内容由互联网用户自发贡献自行上传,本网站不拥有所有权,也不承认相关法律责任。
如果您发现本社区中有涉嫌抄袭的内容请发送邮件至:Hi@r1yun.cn进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。

在线评论