91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

docker學習5:Docker 容器連接

發布時間:2020-08-17 23:00:57 來源:ITPUB博客 閱讀:238 作者:tonykorn97 欄目:建站服務器
參考:http://www.runoob.com/docker/docker-container-connection.html


前面我們實現了通過網絡端口來訪問運行在docker容器內的服務。下面我們來實現通過端口連接到一個docker容器


網絡端口映射
我們創建了一個 python 應用的容器。


[root@huixuan ~]# docker run -d -P training/webapp python app.py
eda68d54e9976f0894461dc61b35fb1ebc607ae19954bb76fd68a316ece6027d
[root@huixuan ~]# docker images
REPOSITORY                  TAG                 IMAGE ID            CREATED             SIZE
docker.io/centos            latest              3a42651974ec        7 minutes ago       199 MB
tonykorn97/centos           dev                 3a42651974ec        7 minutes ago       199 MB
tonykorn97/ubuntu           v2                  6bb0f7a6d1e6        34 minutes ago      137 MB
<none>                      <none>              3248dea71f18        36 minutes ago      137 MB
docker.io/ubuntu            14.04               8cef1fa16c77        3 days ago          223 MB
docker.io/hello-world       latest              e38bc07ac18e        2 weeks ago         1.85 kB
docker.io/centos            <none>              e934aafc2206        3 weeks ago         199 MB
docker.io/ubuntu            15.10               9b9cb95443b5        21 months ago       137 MB
docker.io/training/webapp   latest              6fae60ef3446        2 years ago         349 MB
[root@huixuan ~]#


另外,我們可以指定容器綁定的網絡地址,比如綁定 127.0.0.1。
我們使用 -P 參數創建一個容器,使用 docker ps 來看到端口1026綁定主機端口5000。


[root@huixuan ~]# docker ps 
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS                    NAMES
eda68d54e997        training/webapp     "python app.py"     3 minutes ago       Up 2 minutes        0.0.0.0:1026->5000/tcp   blissful_goldstine
0e044f323370        training/webapp     "python app.py"     About an hour ago   Up About an hour    0.0.0.0:5000->5000/tcp   admiring_goldwasser
[root@huixuan ~]# 


我們也可以使用 -p 標識來指定容器端口綁定到主機端口。
兩種方式的區別是:
-P :是容器內部端口隨機映射到主機的高端口。
-p : 是容器內部端口綁定到指定的主機端口。


[root@huixuan ~]# docker run -d -p 5000:5000 training/webapp python app.py
56af280bb2b399399a9a40a5fa52ac0d7e787cca7ac2446ccbbb3faecccde935
/usr/bin/docker-current: Error response from daemon: driver failed programming external connectivity on endpoint laughing_heisenberg (b3ee694cd9c6bb3f7c8d7129aca3bf99b5eabc023daab0d08a5e78358d23b08e): Bind for 0.0.0.0:5000 failed: port is already allocated.
[root@huixuan ~]# docker stop 0e044f323370
0e044f323370
[root@huixuan ~]# docker ps 
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS                    NAMES
eda68d54e997        training/webapp     "python app.py"     5 minutes ago       Up 5 minutes        0.0.0.0:1026->5000/tcp   blissful_goldstine
[root@huixuan ~]# docker run -d -p 5000:5000 training/webapp python app.py
fcced8f54a68432cb652a7b755047160869ff9110cd6ec2b850f14a666a72b28
[root@huixuan ~]# docker ps 
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS                    NAMES
fcced8f54a68        training/webapp     "python app.py"     3 seconds ago       Up 2 seconds        0.0.0.0:5000->5000/tcp   kickass_pare
eda68d54e997        training/webapp     "python app.py"     5 minutes ago       Up 5 minutes        0.0.0.0:1026->5000/tcp   blissful_goldstine
[root@huixuan ~]# 


另外,我們可以指定容器綁定的網絡地址,比如綁定127.0.0.1。
[root@huixuan ~]# docker run -d -p 127.0.0.1:5001:5000 training/webapp python app.py
eda9d7e0083933213dff616a38e39975c89783f018ae9554c87493cc2028e247
[root@huixuan ~]# docker ps 
CONTAINER ID        IMAGE               COMMAND             CREATED              STATUS              PORTS                      NAMES
eda9d7e00839        training/webapp     "python app.py"     3 seconds ago        Up 2 seconds        127.0.0.1:5001->5000/tcp   mystifying_haibt
fcced8f54a68        training/webapp     "python app.py"     About a minute ago   Up About a minute   0.0.0.0:5000->5000/tcp     kickass_pare
eda68d54e997        training/webapp     "python app.py"     6 minutes ago        Up 6 minutes        0.0.0.0:1026->5000/tcp     blissful_goldstine
[root@huixuan ~]#




這樣我們就可以通過訪問127.0.0.1:5001來訪問容器的5000端口。
上面的例子中,默認都是綁定 tcp 端口,如果要綁定 UDP 端口,可以在端口后面加上 /udp。


[root@huixuan ~]# docker run -d -p 127.0.0.1:5000:5000/udp training/webapp python app.py
2eaa281d655cf95a2df079b8488e0e5cc64850e610ad522ba14a0e2ba9ca2e02
[root@huixuan ~]# docker ps 
CONTAINER ID        IMAGE               COMMAND             CREATED              STATUS              PORTS                                NAMES
2eaa281d655c        training/webapp     "python app.py"     2 seconds ago        Up 1 second         5000/tcp, 127.0.0.1:5000->5000/udp   nifty_swirles
eda9d7e00839        training/webapp     "python app.py"     About a minute ago   Up About a minute   127.0.0.1:5001->5000/tcp             mystifying_haibt
fcced8f54a68        training/webapp     "python app.py"     2 minutes ago        Up 2 minutes        0.0.0.0:5000->5000/tcp               kickass_pare
eda68d54e997        training/webapp     "python app.py"     8 minutes ago        Up 8 minutes        0.0.0.0:1026->5000/tcp               blissful_goldstine
[root@huixuan ~]# 




docker port 命令可以讓我們快捷地查看端口的綁定情況。
[root@huixuan ~]# docker port 2eaa281d655c
5000/udp -> 127.0.0.1:5000
[root@huixuan ~]# docker port eda9d7e00839
5000/tcp -> 127.0.0.1:5001
[root@huixuan ~]# 






Docker容器連接
端口映射并不是唯一把 docker 連接到另一個容器的方法。
docker有一個連接系統允許將多個容器連接在一起,共享連接信息。
docker連接會創建一個父子關系,其中父容器可以看到子容器的信息。


容器命名
當我們創建一個容器的時候,docker會自動對它進行命名。另外,我們也可以使用--name標識來命名容器,例如:
先把之前的停止掉:
[root@huixuan ~]# docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS                    NAMES
fcced8f54a68        training/webapp     "python app.py"     29 minutes ago      Up 29 minutes       0.0.0.0:5000->5000/tcp   kickass_pare
eda68d54e997        training/webapp     "python app.py"     35 minutes ago      Up 35 minutes       0.0.0.0:1026->5000/tcp   blissful_goldstine
[root@huixuan ~]# docker stop  fcced8f54a68
fcced8f54a68
[root@huixuan ~]# docker stop  eda68d54e997
eda68d54e997
[root@huixuan ~]#




[root@huixuan ~]# docker run -d -P --name tonykorn97 training/webapp python app.py
c793b0a10ab17912d4b7138bd58f201dcc7479b27840426a79d3e3d921af7d6e




我們可以使用 docker ps 命令來查看容器名稱。
[root@huixuan ~]# docker ps -l
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS                    NAMES
c793b0a10ab1        training/webapp     "python app.py"     7 seconds ago       Up 6 seconds        0.0.0.0:1027->5000/tcp   tonykorn97
[root@huixuan ~]# 
向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

博白县| 建昌县| 朝阳县| 乳源| 张家界市| 泰顺县| 拉萨市| 常熟市| 沙雅县| 灵璧县| 邳州市| 武冈市| 泰顺县| 大庆市| 正定县| 蛟河市| 榆社县| 延庆县| 临潭县| 凤山县| 苏尼特右旗| 青海省| 长兴县| 六枝特区| 榆树市| 美姑县| 高清| 安仁县| 比如县| 和静县| 徐州市| 杭州市| 若尔盖县| 阜城县| 上虞市| 大冶市| 梅州市| 石阡县| 封开县| 全州县| 林甸县|