查看网络模式
docker network ls
指定容器网络模式为none|host
docker run -it --network=none|host busybox
linux 查看bridge
brctl show
use-defined网络:bridge,ooverlay,macvlan
创建自定义bridge
docker network create --driver bridge my_net
创建自定义网段
docker network create --driver bridge --subnet 172.22.16.0/24 --gateway 172.22.16.1 my_net2
容器使用创建的新网络
docker run -it --network=my_net2 busybox
为容器制定固定ip(只有使用--subnet创建的网络才可以)
docker run -it --network=my_net2 --ip 172.22.16.8 busybox
查看host 路由表
ip r
查看ip forwarding
sysctl net.ipv4.ip_forward
查看iptables
iptables-save
为容器添加网卡
docker network connect my_net (容器id)
docker DNS Server
docker DNS 只能在user-defined网络中使用
docker run -it --network=my_net2 --name=box1 busybox
docker run -it --network=my_net2 --name=box2 busybox
ping -c 3 box2
docker joined容器
1.docker run -d -it --name=web1 httpd
2.docker run -it --network=container:web1 busybox
查看iptables规则
iptables -t nat -S
查看tcpdump输出
tcpdump -i docker0 -n -icmp
每一个映射端口,host会启动一个docker-proxy进程来处理访问容器的流量
查看dpcker-proxy
ps -ef | grep docker-proxy
Docker 支持多种 storage driver,有 AUFS、Device Mapper、Btrfs、OverlayFS、VFS 和 ZFS
查看默认的storage driver
docker info
数据存放在 /var/lib/docker/xxx(driver)/xx
docker 提供了两种类型的 volume:bind mount 和 docker managed volume。
docker run -d -p 80 -v ~/htdocs:/usr/local/apache2/htdocs httpd
设置只读
docker run -d -p 80 -v ~/htdocs:/usr/local/apache2/htdocs:ro httpd
设置单独一个文件
docker run -d -p 80 -v ~/htdocs/index.html:/usr/local/apache2/htdocs/new_index.html httpd
docker manage volume 不需要指定共享目录
查看容器VOLUME信息
docker inspect
docker volume ls
docker volume inspect (容器id)
volume container实现容器之间共享数据
docker create --name vc_data \
-v ~/htdocs:/user/local/apache2/htdocs \
-v /other/useful/tools busybox
容器使用volume container
docker run --name web1 -d -p 80 --volumes-from vc_data httpd
删除volume
docker volume rm (volume id)
批量删除 volume
docker volume rm $(docker volume ls -q)
安装docker machine
官方安装文档在 https://docs.docker.com/machine/install-machine/