Only ホストOS HyperVisor OS var www html / <?php echo “hoge”; ?> ΞϓϦ app.phpの 所有者は www-data(id=33) app.php OS var www html / <?php echo “fuga”; ?> ΞϓϦ app.phpの 所有者は www-data(id=33) app.php 仮想化だったら簡単︕︕
Only Dockerfile FROM centos:centos7 RUN yum –y install httpd CentOS7のイメージにApacheをインストールしてみます。そのた めのDockerfileは以下のとおりです。 CentOS7のイメージをダウンロード Apacheをインストール
Only # ip link add name ns-veth1 type veth peer name br-veth1 # ip link add name ns-veth2 type veth peer name br-veth2 # ip link add name rt-veth type veth peer name br-veth3 仮想NICが出来ました。
Only 仮想スイッチに仮想ネットワークインターフェースを接続します。 # ip link set dev br-veth1 master br0 # ip link set dev br-veth2 master br0 # ip link set dev br-veth3 master br0 接続出来ました。
Only 仮想NICと仮想スイッチをUpをしたり、IPアドレスを付与したり します。 # ip netns exec ns1 ip link set ns-veth1 up # ip netns exec ns2 ip link set ns-veth2 up # ip link set rt-veth up # ip link set br-veth1 up # ip link set br-veth2 up # ip link set br-veth3 up # ip link set br0 up # ip netns exec ns1 ip addr add 192.168.0.1/24 dev ns-veth1 # ip netns exec ns2 ip addr add 192.168.0.2/24 dev ns-veth2 # ip addr add 192.168.0.100/24 dev rt-veth ▪ 仮想NICと仮想スイッチのUp ▪ IPアドレスの付与
Only , 2., 25 Network Namespace内でデフォルトゲートウェイが設定されてな い → これで解決︕︕ # ip netns exec ns1 ip route add default via 192.168.0.100 # ip netns exec ns2 ip route add default via 192.168.0.100
Only 再び動作確認︕︕ # ip netns exec ns1 ping 8.8.8.8 PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data. 64 bytes from 8.8.8.8: icmp_seq=1 ttl=127 time=12.9 ms ・・・以下略・・・
Only docker0の仮想スイッチに接続されている仮想NICを⾒てみます。 確かに先程の「veth9f0eb93」「veth7010a0b」という仮想NIC がdocker0という仮想スイッチに接続されているのがわかります。 # ip link show master docker0 32: [email protected]: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master docker0 state UP mode DEFAULT group default link/ether fa:43:35:64:5a:8b brd ff:ff:ff:ff:ff:ff link-netnsid 0 34: [email protected]: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master docker0 state UP mode DEFAULT group default link/ether 2e:f1:f5:7d:0f:0e brd ff:ff:ff:ff:ff:ff link-netnsid 1