#解释
#可选参数
2. sudo docker search 搜索镜像
指定版本下载
3 docker rmi 删除镜像
4 容器命令
如拉取一个centos容器
6 退出容器
7.列出运行过的容器
8.删除容器
9.启动和停止容器
10.拷贝操作
11. 镜像及的导入和导出
用docker搭建靶场环境是很方便的,因为容器内存是比较小的
就像下面这个容器,我已经搭建好的靶场,但是如何导出来呢。并且可以在另一台主机上再次利用。
导出和导入镜像
镜像的保存
容器的导入和导出
导出镜像
12. docker Portaniner图形管理界面
Portaniner是docker的图形化管理工具,类似的工具还有rancher
下载运行portaniner镜像并运行,设置本机映射端口为808
13.自定义Docker网络
学习网络之前需要把环境清空一下,
docker rmi -f $(docker images -q)
想把给docker容器ip地址,需要把docker网络理解了,网络方面就是Docker比较薄弱的部分。
安装Docker时,它会自动创建三个网络,bridge(创建容器默认连接到此网络)、 none 、host
认识docker网络几种类型
简单介绍,
bridge :桥接 docker 相当于一个大桥 0.2 0.1 0.3 01就是咱们的桥就可以转发访问了(docker默认的网络)
none:就是不配置网络
host和宿主机共享的网络
创建自定义网络
不同网段容器通讯
创建完成之后,你会发现,跨网段是无法互相ping通的
也就是咱们的docker0 和mynet里面的容器是无法进行通信的,
使用这条命令,将tomcat01 加入到mynet里面,也就相当于,一个容器两个网卡,就可以正常通讯了
docker network connect mynet tomcat01
Docker容器通过独立IP暴露给局域网的方法
我的环境
创建自定义网络
创建一个172.172.0.0网段,网桥的名字命名为docker-br0,这两个根据自己需要来
自定义ip,开启容器
查看容器ip 172.172.0.10
路由转发
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/121860817?utm_medium=distribute.pc_aggpage_search_result.none-task-blog-2aggregatepagefirst_rank_ecpm_v1~rank_v31_ecpm-7-121860817.pc_agg_new_rank&utm_term=docker+%E5%AE%B9%E5%99%A8%E5%86%85%E7%BD%91ip&spm=1000.2123.3001.4430
docker容器通过独立ip暴漏给局域网的方法!!这个博主讲的非常好,简单易懂
https://blog.csdn.net/lvshaorong/article/details/69950694
基于iptables的docker网络隔离通信讲解
如果想要容器正常通信,iptbales是极为重要的,建议看完这篇文章
https://blog.csdn.net/taiyangdao/article/details/88844558?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策略