# Docker Network 指令 ### 主講人:黃夙賢 --- ## Docker指令 ![](https://i.imgur.com/pWazmsf.png) --- ## Docker指令概覽 - docker image - docker container - docker volume - <font color=red>docker network</font> --- ## Docker Network 如何將容器連上網路 - 每個容器的網卡是eth0,每一個新增容器,會新增一個veth介面 - 透過vethxx介面,跟聯外網卡docker0連線 - 再透過docker0跟真正的實體網卡eth0往外連 - 我們可以自己新增docker network來取代docker0,來控制容器間的對外連線。 --- ![](https://i.imgur.com/jR3fa0g.png) --- ## 瀏覽網路介面 - ip addr,或者ip ad - 可看到docker預設網路卡docker0 ![](https://i.imgur.com/qrDHN39.png =900x) --- ``` docker run -d --name web tutum/apache-php (執行一個apache-php容器) docker ps docker exec -it web bash (進入web的bash介面) ip addr (觀察目前web容器使用的network介面,有個eth0虛擬網卡) exit ``` ![](https://i.imgur.com/gAsmb2M.png =800x) --- ``` ip addr (web容器使用的veth128e25c網路介面) docker rm –f web ip addr (刪除容器web後,veth128e25c也消失了) ``` ![](https://i.imgur.com/2s3mpK8.png =600x) --- ## Docker Network Create新增介面 - 透過新增的docker network來連接不同的容器 ``` docker network ls (查詢目前有哪些docker network介面) docker network create mybridge(新增mybridge網路介面) docker network ls (查詢是否建立成功) ip addr ``` ![](https://i.imgur.com/AAD2rlM.png =800x) --- ![](https://i.imgur.com/8I6ljuO.png) --- ## 建立一個利用Mybridge串連的Mysql + phpmyadmin的應用 - mysql是網路常用的免費資料庫 - phpmyadmin是mysql常用的網路管理介面 --- ``` docker run -d --network mybridge --name db -p 3306:3306 -e MYSQL\_ROOT\_PASSWORD=abc1234 mysql (建立一個密碼為abc1234的mysql) docker ps docker run -d --network mybridge --name myadmin -p 80:80 phpmyadmin (建立一個phpmyadmin) ``` ![](https://i.imgur.com/8QoyfR7.png =800x) --- - http://localhost:8080 - id:root - pwd:abc1234 ![](https://i.imgur.com/KvVmvCu.png) ---
{"metaMigratedAt":"2023-06-17T18:27:27.591Z","metaMigratedFrom":"YAML","title":"Docker Network 指令","breaks":true,"contributors":"[{\"id\":\"ef0225b9-6c2a-4012-82c9-fa1031d2c4db\",\"add\":3149,\"del\":1426}]"}
    216 views