Docker: Difference between revisions

From Chorke Wiki
Jump to navigation Jump to search
Line 31: Line 31:
docker network create \
docker network create \
--driver bridge \
--driver bridge \
--gateway 10.20.13.1 \
--gateway 10.20.13.1 \
--subnet 10.20.13.0/24 \
--subnet   10.20.13.0/24 \
--ip-range 10.20.13.16/28 \
--ip-range 10.20.13.16/28 \
--opt com.docker.network.driver.mtu=1500 \
--opt com.docker.network.driver.mtu=1500 \
Line 43: Line 43:


<source lang="bash">
<source lang="bash">
docker network create --subnet 10.20.13.32/28 ckn.b02
docker network create --subnet 10.20.13.32/28 --gateway=10.20.13.33 ckn.b02
docker network create --subnet 10.20.13.48/28 ckn.b03
docker network create --subnet 10.20.13.48/28 --gateway=10.20.13.49 ckn.b03
docker network create --subnet 10.20.13.64/28 ckn.b04
docker network create --subnet 10.20.13.64/28 --gateway=10.20.13.65 ckn.b04
docker network create --subnet 10.20.13.80/28 ckn.b05
docker network create --subnet 10.20.13.80/28 --gateway=10.20.13.81 ckn.b05
</source>
</source>
----
----
===MAC VLAN===
===MAC VLAN===
'''Bridge mode'''
'''Bridge mode'''

Revision as of 01:45, 15 September 2020

Windows 10 Home

# powershell
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
wsl --set-default-version 2
# powershell
docker pull hello-world
docker run -it --rm --name hello hello-world:latest
# gitbash
winpty docker pull hello-world
winpty docker run -it --rm --name hello hello-world:latest

Networking

docker run --rm --detach \
--publish 1983:80 \
--name nginx \
nginx:1.19.2

Bridge

docker network create \
--driver bridge \
--gateway  10.20.13.1 \
--subnet   10.20.13.0/24 \
--ip-range 10.20.13.16/28 \
--opt com.docker.network.driver.mtu=1500 \
--opt com.docker.network.bridge.enable_icc=true \
--opt com.docker.network.bridge.default_bridge=false \
--opt com.docker.network.bridge.enable_ip_masquerade=true \
--opt com.docker.network.bridge.host_binding_ipv4=0.0.0.0 \
--opt com.docker.network.bridge.name=ckn.b01 ckn.b01
docker network create --subnet 10.20.13.32/28 --gateway=10.20.13.33 ckn.b02
docker network create --subnet 10.20.13.48/28 --gateway=10.20.13.49 ckn.b03
docker network create --subnet 10.20.13.64/28 --gateway=10.20.13.65 ckn.b04
docker network create --subnet 10.20.13.80/28 --gateway=10.20.13.81 ckn.b05

MAC VLAN

Bridge mode

docker network create \
--driver macvlan \
--gateway  10.19.83.1 \
--subnet   10.19.83.0/24 \
--ip-range 10.19.83.240/28 \
--opt parent=wlan0 ckn.v01

802.1q trunk bridge mode

docker network create \
--driver macvlan \
--gateway  10.19.83.1 \
--subnet   10.19.83.0/24 \
--ip-range 10.19.83.240/28 \
--opt parent=wlan0.01 ckn.v01
docker network inspect ckn.v01
docker network connect ckn.v01 nginx
docker exec -it nginx ls -lah /sys/class/net/
docker inspect nginx|grep "IPAddress"
curl -v http://10.19.83.240:1983
curl -v http://localhost:1983
docker network disconnect bridge nginx
docker network disconnect ckn.v01 nginx

IP VLAN

Knowledge

docker network ls
docker network prune
docker network rm ckn.b00 ckn.b01

docker inspect nginx|grep "IPAddress"
docker network inspect bridge|grep "Gateway"
docker run --rm -dit --network \
none --name alpine alpine:latest ash;\
docker exec -it alpine ip link show
docker network create --driver bridge \
--opt com.docker.network.bridge.name=ckn.b00 ckn.b00
docker network connect ckn.b00 nginx
docker inspect nginx|grep "IPAddress"
docker exec -it nginx ls -lah /sys/class/net/
docker network disconnect bridge nginx
docker network disconnect ckn.b00 nginx
docker exec -it nginx ls -lah /sys/class/net/
docker run -itd --network=ckn.b00 nginx
docker network disconnect ckn.b00 nginx
docker network connect --alias db --alias mysql ckn.b00 mysql

Reference