相关文章推荐
独立的书签  ·  docker ...·  3 月前    · 
心软的夕阳  ·  解决Docker启动MySQL多实例时因共享 ...·  3 月前    · 
鬼畜的大象  ·  Docker精华问答 | ...·  2 月前    · 
强健的冰淇淋  ·  K8S集群常见的100+报错指南 - 尹正杰 ·  1 月前    · 
逃课的小虾米  ·  Nexus3 重置 admin 账号密码 ...·  1 月前    · 
温暖的弓箭  ·  驻玻利维亚大使梁宇在玻第十二届经济学家论坛上 ...·  1 年前    · 
风度翩翩的创口贴  ·  医德最新版游戏下载-医德安卓中文版 ...·  2 年前    · 
率性的稀饭  ·  针对上市公司的收购/并购,如何确定初始报价? ...·  2 年前    · 
光明磊落的毛巾  ·  腾讯1.3-1.5亿美元投资印度金融科技公司 ...·  2 年前    · 
博学的高山  ·  CSS Positioning ...·  2 年前    · 
Code  ›  容器互連 | 《Docker —— 從入門到實踐­》正體中文版
容器 docker命令 web容器 docker
https://philipzheng.gitbook.io/docker_practice/network/linking
眉毛粗的跑步鞋
2 月前
《Docker —— 從入門到實踐­》正體中文版
search
⌘ Ctrl k
《Docker —— 從入門到實踐­》正體中文版
  • 前言
  • Docker 簡介
  • 基本概念
  • 安裝
  • 映像檔
  • 容器
  • 倉庫
  • 資料管理
  • 使用網路
    • 外部存取容器
    • 容器互連
  • 進階網路設定
  • 實戰案例
  • 安全
  • Dockerfile
  • 底層實作
  • 附錄一:命令查詢
  • 附錄二:常見倉庫介紹
  • 附錄三:資源連結
gitbook Powered by GitBook
block-quote On this page chevron-down
  1. 使用網路

容器互連

容器的連線(linking)系統是除了連接埠映射外,另一種跟容器中應用互動的方式。

該系統會在來源端容器和接收端容器之間創建一個隧道,接收端容器可以看到來源端容器指定的資訊。

hashtag
自訂容器命名

連線系統依據容器的名稱來執行。因此,首先需要自訂一個好記的容器命名。

雖然當創建容器的時候,系統會預設分配一個名字。自訂命名容器有2個好處:

  • 自訂的命名,比較好記,比如一個web應用容器我們可以給它起名叫web

  • 當要連線其他容器時候,可以作為一個有用的參考點,比如連線web容器到db容器

使用 --name 標記可以為容器自訂命名。

$ sudo docker run -d -P --name web training/webapp python app.py

使用 docker ps 來驗證設定的命名。

$ sudo docker ps -l
CONTAINER ID  IMAGE                  COMMAND        CREATED       STATUS       PORTS                    NAMES
aed84ee21bde  training/webapp:latest python app.py  12 hours ago  Up 2 seconds 0.0.0.0:49154->5000/tcp  web

也可以使用 docker inspect 來查看容器的名字

$ sudo docker inspect -f "{{ .Name }}" aed84ee21bde
/web

注意:容器的名稱是唯一的。如果已經命名了一個叫 web 的容器,當你要再次使用 web 這個名稱的時候,需要先用 docker rm 來刪除之前建立的同名容器。

在執行 docker run 的時候如果新增 --rm 標記,則容器在終止後會立刻刪除。注意, --rm 和 -d 參數不能同時使用。

###容器互聯

使用 --link 參數可以讓容器之間安全的進行互動。

下面先建立一個新的資料庫容器。

Previous 外部存取容器 chevron-left Next 進階網路設定 chevron-right

Last updated 2 years ago

$ sudo docker run -d --name db training/postgres
$ docker rm -f web
$ sudo docker run -d -P --name web --link db:db training/webapp python app.py
$ docker ps
CONTAINER ID  IMAGE                     COMMAND               CREATED             STATUS             PORTS                    NAMES
349169744e49  training/postgres:latest  su postgres -c '/usr  About a minute ago  Up About a minute  5432/tcp                 db, web/db
aed84ee21bde  training/webapp:latest    python app.py         16 hours ago        Up 2 minutes       0.0.0.0:49154->5000/tcp  web
$ sudo docker run --rm --name web2 --link db:db training/webapp env
. . .
DB_NAME=/web2/db
DB_PORT=tcp://172.17.0.5:5432
DB_PORT_5000_TCP=tcp://172.17.0.5:5432
DB_PORT_5000_TCP_PROTO=tcp
DB_PORT_5000_TCP_PORT=5432
DB_PORT_5000_TCP_ADDR=172.17.0.5
. . .
$ sudo docker run -t -i --rm --link db:db training/webapp /bin/bash
root@aed84ee21bde:/opt/webapp# cat /etc/hosts
172.17.0.7  aed84ee21bde
. . .
 
推荐文章
独立的书签  ·  docker compose入门6—如何挂载卷_docker-compose volumes 挂载目录
3 月前
心软的夕阳  ·  解决Docker启动MySQL多实例时因共享数据卷导致的连接报错-开发者社区-阿里云
3 月前
鬼畜的大象  ·  Docker精华问答 | 如何让一个容器连接两个网络?
2 月前
强健的冰淇淋  ·  K8S集群常见的100+报错指南 - 尹正杰
1 月前
逃课的小虾米  ·  Nexus3 重置 admin 账号密码 - immaxfang
1 月前
温暖的弓箭  ·  驻玻利维亚大使梁宇在玻第十二届经济学家论坛上发表演讲 — 中华人民共和国外交部
1 年前
风度翩翩的创口贴  ·  医德最新版游戏下载-医德安卓中文版 v1.0.7-游人手游网
2 年前
率性的稀饭  ·  针对上市公司的收购/并购,如何确定初始报价?股价是一个有效参考吗? - 知乎
2 年前
光明磊落的毛巾  ·  腾讯1.3-1.5亿美元投资印度金融科技公司PolicyBazaar_投资界
2 年前
博学的高山  ·  CSS Positioning (定位)_w3cschool
2 年前
今天看啥   ·   Py中国   ·   codingpro   ·   小百科   ·   link之家   ·   卧龙AI搜索
删除内容请联系邮箱 2879853325@qq.com
Code - 代码工具平台
© 2024 ~ 沪ICP备11025650号