5.Docker 網(wǎng)絡(luò)管理

名稱 版本
系統(tǒng) CentOS Linux release 7.6.1810 (Core)
Docker version 1.13.1

查看docker網(wǎng)絡(luò)

docker network list
-------------------------------------------------------
NETWORK ID          NAME                DRIVER              SCOPE
83a633e44192        bridge              bridge              local
b0efcae788f6        host                host                local
6c42f1ff8b6d        none                null                local
-------------------------------------------------------
docker network inspect bridge
[
    {
        "Name": "bridge",
        "Id": "83a633e4419213412e767ce82070234ff57f689e34bc1ee9699e660f80240358",
        "Created": "2019-03-27T03:53:28.457676544-04:00",
        "Scope": "local",
        "Driver": "bridge",
        "EnableIPv6": false,
        "IPAM": {
            "Driver": "default",
            "Options": null,
            "Config": [
                {
                    "Subnet": "172.17.0.0/16",
                    "Gateway": "172.17.0.1"
                }
            ]
        },
        "Internal": false,
        "Attachable": false,
        "Containers": {      "6770ed441f606f3c87c666d6d986894af52cf1616cb77362be78261330121932": {
                "Name": "db",
                "EndpointID": "5191ba213ce5b7246fe61a7f4860214bc3b31b43b6ebbfdda29f5f7bb299d1e5",
                "MacAddress": "02:42:ac:11:00:04",
                "IPv4Address": "172.17.0.4/16",
                "IPv6Address": ""
            },
"71ed148515b1ad56412a4b37cb708f219827cc80442fc84f1c5585316967fc15": {
                "Name": "c1",
                "EndpointID": "cb5726a91d25c9ebc686103cca82c9369b7631a9c9ece475b89abca62ab8e3bd",
                "MacAddress": "02:42:ac:11:00:03",
                "IPv4Address": "172.17.0.3/16",
                "IPv6Address": ""
            },  "fb160b5754a1ef265f3d27fe69e657734a520d49311ea60866f6b5d530f19410": {
                "Name": "web",
                "EndpointID": "2c4aec086a20b278ccae70db3314ea39bce770b65906a3e463b85aa01713d026",
                "MacAddress": "02:42:ac:11:00:02",
                "IPv4Address": "172.17.0.2/16",
                "IPv6Address": ""
            }
        }
    }
]
-------------------------------------------------------

查看,創(chuàng)建,刪除,docker網(wǎng)絡(luò)

#查看docker幫助
mandb  #初始化幫助文檔
man -k docker
man docker-network-create
#獲取到docker-network-create的參數(shù)如下
$ docker network create \
                --driver=bridge \
                --subnet=172.28.0.0/16 \
                --ip-range=172.28.5.0/24 \
                --gateway=172.28.5.254 \
                br0

#創(chuàng)建網(wǎng)絡(luò)
docker network create -d bridge --subnet=10.0.0.0/24 mynet
#查看網(wǎng)絡(luò)
docker network list
NETWORK ID          NAME                DRIVER              SCOPE
83a633e44192        bridge              bridge              local
b0efcae788f6        host                host                local
4ffa318642bf        mynet               bridge              local
#容器使用自己創(chuàng)建的網(wǎng)絡(luò)
docker run --net=mynet --rm -it centos /bin/bash

#刪除網(wǎng)絡(luò)
docker network rm mynet

物理機和容器端口映射

docker run -dit --restart=always --name=db2 -p 物理機端口:容器端口 -v /db:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=redhat mysql 

docker run -dit --restart=always --name=db2 -p 容器端口 -v /db:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=redhat mysql (物理機端口隨機分配)

練習(xí)1,通過ip 讓兩個容器通信

#wordpress+mysql 搭建個人論壇
#臨時關(guān)閉selinux
setenforce 0
#下載鏡像
docker pull hub.c.163.com/library/wordpress:latest
docker pull hub.c.163.com/library/mysql:latest
#鏡像重命名
docker tag hub.c.163.com/library/wordpress wordpress
docker tag hub.c.163.com/library/mysql mysql

#創(chuàng)建數(shù)據(jù)容器
docker run -dit --restart=always --name=db -v /db:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=redhat -e MYSQL_DATABASE=blog mysql
#查看數(shù)據(jù)庫容器ip地址
docker exec -it db ip a
#創(chuàng)建wordpress并連接到mysql
docker run -dit --restart=always --name=blog -v /web:/var/www/html -p 80:80 -e WORDPRESS_DB_HOST=172.17.0.2 -e WORDPRESS_DB_USER=root -e WORDPRESS_DB_PASSWORD=redhat -e WORDPRESS_DB_NAME=blog wordpress
#測試
curl ip (web容器所在的物理機ip地址)

練習(xí)2,通過容器別名綁定的方式 讓兩個容器通信(--link 容器別名:鏡像名)

#創(chuàng)建數(shù)據(jù)容器
docker run -dit --restart=always --name=db -v /db:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=redhat -e MYSQL_DATABASE=blog mysql
#查看數(shù)據(jù)庫容器ip地址
docker exec -it db ip a
#創(chuàng)建wordpress并連接到mysql(blog容器中并沒有制定用戶名,密碼等信息,但是--link參數(shù)會將db中已經(jīng)設(shè)置好的信息賦予blog容器,所以可以直接使用)
docker run -dit --restart=always --name=blog -v /web:/var/www/html -p 80:80 --link db:mysql wordpress
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容