修正多個用詞

"s/程序/程式/g" "s/性能/效能/g" "s/如下/以下/g" "s/加載/載入/g" "s/獲取/取得/g" "s/服務器/伺服器/g" "s/信息/訊息/g" "s/註釋/註解/g" "s/裏/裡/g" "s/構建/建立/g" "s/配置/設定/g"
This commit is contained in:
Ensky Lin
2014-11-24 22:51:16 +08:00
parent 9d0330915d
commit a795bf863a
61 changed files with 208 additions and 208 deletions

View File

@@ -1,7 +1,7 @@
## 容器互聯
容器的連接linking系統是除了端口映射外另一種跟容器中應用交互的方式。
該系統會在源和接收容器之間建立一個隧道,接收容器可以看到源容器指定的息。
該系統會在源和接收容器之間建立一個隧道,接收容器可以看到源容器指定的息。
### 自定義容器命名
連接系統依據容器的名稱來執行。因此,首先需要自定義一個好記的容器命名。
@@ -56,11 +56,11 @@ CONTAINER ID IMAGE COMMAND CREATED
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
```
可以看到自定義命名的容器db 和 webdb 容器的 names 列有 db 也有 web/db。這表示 web 容器鏈接到 db 容器web 容器將被允許訪問 db 容器的息。
可以看到自定義命名的容器db 和 webdb 容器的 names 列有 db 也有 web/db。這表示 web 容器鏈接到 db 容器web 容器將被允許訪問 db 容器的息。
Docker 在兩個互聯的容器之間建立了一個安全隧道,而且不用映射它們的端口到宿主主機上。在啟動 db 容器的時候並沒有使用 `-p``-P` 標記,從而避免了暴露數據庫端口到外部網路上。
Docker 透過 2 種方式為容器公開連接息:
Docker 透過 2 種方式為容器公開連接息:
* 環境變量
* 更新 `/etc/hosts` 文件
@@ -78,7 +78,7 @@ DB_PORT_5000_TCP_ADDR=172.17.0.5
```
其中 DB_ 開頭的環境變量是供 web 容器連接 db 容器使用,前綴采用大寫的連接別名。
除了環境變量Docker 還新增 host 息到父容器的 `/etc/hosts` 的文件。下面是父容器 web 的 hosts 文件
除了環境變量Docker 還新增 host 息到父容器的 `/etc/hosts` 的文件。下面是父容器 web 的 hosts 文件
```
$ sudo docker run -t -i --rm --link db:db training/webapp /bin/bash
root@aed84ee21bde:/opt/webapp# cat /etc/hosts
@@ -86,7 +86,7 @@ root@aed84ee21bde:/opt/webapp# cat /etc/hosts
. . .
172.17.0.5 db
```
有 2 個 hosts第一個是 web 容器web 容器用 id 作為他的主機名,第二個是 db 容器的 ip 和主機名。
有 2 個 hosts第一個是 web 容器web 容器用 id 作為他的主機名,第二個是 db 容器的 ip 和主機名。
可以在 web 容器中安裝 ping 命令來測試跟db容器的連通。
```
root@aed84ee21bde:/opt/webapp# apt-get install -yqq inetutils-ping

View File

@@ -10,7 +10,7 @@ $ sudo docker ps -l
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
bc533791f3f5 training/webapp:latest python app.py 5 seconds ago Up 2 seconds 0.0.0.0:49155->5000/tcp nostalgic_morse
```
同樣的,可以透過 `docker logs` 命令來查看應用的息。
同樣的,可以透過 `docker logs` 命令來查看應用的息。
```
$ sudo docker logs -f nostalgic_morse
* Running on http://0.0.0.0:5000/
@@ -41,14 +41,14 @@ $ sudo docker run -d -p 127.0.0.1::5000 training/webapp python app.py
```
$ sudo docker run -d -p 127.0.0.1:5000:5000/udp training/webapp python app.py
```
### 查看映射端口配置
使用 `docker port` 來查看當前映射的端口配置,也可以查看到綁定的地址
### 查看映射端口設定
使用 `docker port` 來查看當前映射的端口設定,也可以查看到綁定的地址
```
$ docker port nostalgic_morse 5000
127.0.0.1:49155.
```
註意:
* 容器有自己的內部網路和 ip 地址(使用 `docker inspect` 可以取所有的變量Docker 還可以有一個可變的網路配置。)
* 容器有自己的內部網路和 ip 地址(使用 `docker inspect` 可以取所有的變量Docker 還可以有一個可變的網路設定。)
* -p 標記可以多次使用來綁定多個端口
例如