Docker安全的顶尖开源工具:
Docker Bench for Security 对照安全基准审计Docker容器的脚本
Clair API驱动的静态容器安全分析工具,拥有庞大的CVE数据库
Cilium 内核层可感知API的网络和安全工具
Anchore 使用CVE数据和用户定义的策略检查容器安全的工具
OpenSCAP Workbench 用于为各种平台创建和维护安全策略的环境
Dagda 用于在Docker容器中扫描漏洞、特洛伊木马、病毒和恶意软件的工具
Notary 使用服务器加强容器安全的框架,用于以加密方式委派责任
Sysdig Falco 提供了行为活动监控,可深入了解容器
一、docker Machine
- Docker Machine是Docker官方编排项目之一,负责在多种平台上快速安装Docker 环境。
- Docker Machine支持在常規Linux操作系统、虚拟化平台、openstack、公有云等不同环境下安装配置docker host。
- Docker Machine项目基于Go语言实现
安装:
[root@server1 ~]# mv docker-machine-Linux-x86_64-0.16.2 /usr/local/bin/docker-machine
[root@server1 ~]# chmod +x /usr/local/bin/docker-machine
创建machine要求免密登陆远程主机:
[root@server1 ~]# ssh-keygen
[root@server1 ~]# ssh-copy-id server2
[root@server1 ~]# ssh-copy-id server3
创建主机:
[root@server1 ~]# docker-machine create --driver generic --generic-ip-address=172.25.70.2 server2
server2开启2376端口
server2切换到/etc/docker目录,可以看到如图证书文件
在server1中machines目录下有server2文件夹,里面有server2的证书文件
登陆到server2:
[root@server1 ~]# docker-machine config server2
[root@server1 ~]# docker-machine env server2
[root@server1 ~]# eval $(docker-machine env server2)
[root@server1 ~]# docker info
登陆之后没有符号显示,安装bash脚本
[root@localhost file_recv]# scp docker-machine*.bash [email protected]:/etc/bash_completion.d/
[root@server1 ~]# rpm -qa | grep bash
bash-4.2.46-31.el7.x86_64
bash-completion-2.1-6.el7.noarch
[root@server1 ~]# cd /etc/bash_completion.d/
[root@server1 bash_completion.d]# ls
docker-machine.bash iprutils rhn-migrate-classic-to-rhsm rhsm-icon
docker-machine-prompt.bash rct rhsmcertd subscription-manager
docker-machine-wrapper.bash redefine_filedir rhsm-debug
[root@server1 ~]# vim .bashrc
PS1='[\u@\h \W$(__docker_machine_ps1)]\$ '
[root@server1 ~]# logout
Connection to 172.25.70.1 closed.
[root@localhost Desktop]# ssh -l root 172.25.70.1
[email protected]'s password:
Last login: Fri Mar 11 16:46:30 2022 from foundation0.ilt.example.com
[root@server1 ~]# eval $(docker-machine env server2)
[root@server1 ~ [server2]]#
docker的主机server3中创建:
物理机:
[root@localhost ~]# curl https://get.docker.com/ -o get-docker.sh [root@localhost Desktop]# cd /var/www/html/ [root@localhost html]# ls docker-ce.repo get-docker.sh rhel7.6 rhel8.2 westos [root@localhost html]# vim get-docker.sh [root@localhost html]# vim docker-ce.repo [docker-ce-stable] name=Docker CE Stable - $basearch baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/$releasever/$basearch/stable enabled=1 gpgcheck=0 [extras] name=CentOS-$releasever - Extras - mirrors.aliyun.com baseurl=http://mirrors.aliyun.com/centos/7/extras/$basearch/ gpgcheck=0
get-docker.sh
server1:
通过server1给server3部署docker:
docker-machine create --driver generic --generic-ip-address=172.25.70.3 --engine-install-url "http://172.25.70.250/get-docker.sh" server3
出错:虚拟机没联网,无法访问阿里云,下载失败
但server1上依然在server3上创建了,状态是unknow,需要删除