<svg xmlns="http://www.w3.org/2000/svg" style="display: none;"> <path stroke-linecap="round" d="M5,0 0,2.5 5,5z" id="raphael-marker-block" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></path> </svg>
讯享网
讯享网
讯享网

#解释
#可选参数
讯享网
2. sudo docker search 搜索镜像

可选参数

搜索收藏数大于3000的镜像
讯享网


指定版本下载
讯享网

3 docker rmi 删除镜像
镜像id可以省略为bbf6

讯享网

4 容器命令
如拉取一个centos容器
讯享网

讯享网


加入参数命令后
讯享网

成功运行命令

简单来说这个命令就是就是增加权限的。很有必要添加的一个参数,因为在里面跳过很多坑。
下面是我经常用的参数
讯享网

6 退出容器

7.列出运行过的容器
讯享网

8.删除容器
9.启动和停止容器
讯享网
10.拷贝操作

讯享网

11. 镜像及的导入和导出

导出和导入镜像
镜像的保存

镜像的导入
讯享网

容器的导入和导出
导出镜像

导入容器快照




12. docker Portaniner图形管理界面
讯享网

但是好像没启动

访问http://IP:端口
密码一定要符合复杂度


13.自定义Docker网络
想把给docker容器ip地址,需要把docker网络理解了,网络方面就是Docker比较薄弱的部分。
安装Docker时,它会自动创建三个网络,bridge(创建容器默认连接到此网络)、 none 、host
认识docker网络几种类型
简单介绍,
bridge :桥接 docker 相当于一个大桥 0.2 0.1 0.3 01就是咱们的桥就可以转发访问了(docker默认的网络)
none:就是不配置网络
host和宿主机共享的网络
创建自定义网络

使用ip addr命令可以看到多出来一块网卡。

讯享网

此时我们启动新的容器时,指定mynet即可,也就是 - -net参数


当然,咱们自定义创建的网络,可以正常访问外网,

讯享网
不同网段容器通讯
创建完成之后,你会发现,跨网段是无法互相ping通的
也就是咱们的docker0 和mynet里面的容器是无法进行通信的,
使用这条命令,将tomcat01 加入到mynet里面,也就相当于,一个容器两个网卡,就可以正常通讯了
docker network connect mynet tomcat01
Docker容器通过独立IP暴露给局域网的方法
我的环境
创建自定义网络
创建一个172.172.0.0网段,网桥的名字命名为docker-br0,这两个根据自己需要来
讯享网

通过ip adr可以看到我们创建的网卡


自定义ip,开启容器

进入到容器安装一些工具
讯享网

查看容器ip 172.172.0.10

开启nginx服务

我们在宿主机**问是没有问题的

我们到kali上,无法访问的
也ping不通


路由转发
此时到宿主机,开启路由转发
配置文件为 /etc/sysctl.conf
echo “net.ipv4.ip_forward=1” >> /etc/sysctl.conf
sysctl -p

到kali上面添加静态路由
讯享网


添加完路由你会发现,可以ping通docker-br0我们自定义的网卡,但是ping不同容器,

Iptables策略
注意那句MASQUERADE all – 172.172.0.0/16 0.0.0.0/0会导致所有172.172.0.0/16的数据包都不能到达docker以外的网络,所以我们要关掉这个NAT,关掉很容易,我们只需删掉这一条iptables规则就可以了。然后源IP为172.172.0.10的数据包就可以出现在192.168.10.1/24的网络中了。
Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
MASQUERADE all – 172.172.0.0/16 0.0.0.0/0
讯享网

可以访问了


但是把NAT关掉了以后,虽然内网可以互ping了,但是Docker容器可能上不去网呀。第一个路由器如果自动NAT 了172.172.0.10还好,但要是没有人给Docker容器做NAT,Docker容器就不能上网了,那我们的nginx也就没法用了。那么如何既保证Docker容器访问外网的数据包被NAT,又保证内网通信不被NAT呢?只要稍微修改一下iptables规则就好了,如下


,
Windows同样添加静态路由
讯享网


如果有什么不理解的,可以参考下面三条链接,
关于通过容器内网ip直接路由到docker容器
https://blog.csdn.net/langchao7946/article/details/?utm_medium=distribute.pc_aggpage_search_result.none-task-blog-2aggregatepagefirst_rank_ecpm_v1~rank_v31_ecpm-7-.pc_agg_new_rank&utm_term=docker+%E5%AE%B9%E5%99%A8%E5%86%85%E7%BD%91ip&spm=1000.2123.3001.4430
基于iptables的docker网络隔离通信讲解
如果想要容器正常通信,iptbales是极为重要的,建议看完这篇文章
https://blog.csdn.net/taiyangdao/article/details/?spm=1001.2101.3001.6650.1&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7Edefault-1.highlightwordscore&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7Edefault-1.highlightwordscore
总结
- 创建自定义网络
- 开启容器,绑定创建的自定义网络
- 做路由转发
- Iptables策略
导入的容器靶机如何添加另一块网卡
我们在导入靶机容器之后,它是自动开启的,网卡也是自动分配好的,所以我们在给靶机添加一块网卡就行了,命令如下
docker network connect docker=br0 (网卡名字) CVE-2021-XXXX(容器名字)
这样我们的容器靶机就有两块网卡了,攻击机只要添加一条路由策略即可访问容器靶机

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/199956.html