修正多個用詞

This commit is contained in:
Ensky Lin
2014-11-24 22:37:20 +08:00
parent 4789287f30
commit 9d0330915d
62 changed files with 272 additions and 272 deletions

View File

@@ -23,7 +23,7 @@ root@ac6474aeb31d:~# ip a
inet6 fe80::487d:68ff:feda:9cf/64 scope link
valid_lft forever preferred_lft forever
```
這樣就可以把這個網路看成是一個私有的網路,過 nat 連接外網,如果要讓外網連接到容器中,就需要做端口映射,即 -p 參數。
這樣就可以把這個網路看成是一個私有的網路,過 nat 連接外網,如果要讓外網連接到容器中,就需要做端口映射,即 -p 參數。
如果在企業內部應用,或者做多個物理主機的集群,可能需要將多個物理主機的容器組到一個物理網路中來,那麽就需要將這個網橋橋接到我們指定的網卡上。
@@ -32,8 +32,8 @@ root@ac6474aeb31d:~# ip a
![物理拓撲圖](../_images/container_connect_topology.png)
### ubuntu 示例
下面以 ubuntu 為例建多個主機的容器聯網:
建自己的網橋,編輯 /etc/network/interface 文件
下面以 ubuntu 為例建多個主機的容器聯網:
自己的網橋,編輯 /etc/network/interface 文件
```
auto br0
iface br0 inet static
@@ -46,7 +46,7 @@ dns-nameservers 8.8.8.8 192.168.6.1
```
將 Docker 的默認網橋綁定到這個新建的 br0 上面,這樣就將這臺機器上容器綁定到 em1 這個網卡所對應的物理網路上了。
ubuntu 修改 /etc/default/docker 文件,添加最後一行內容
ubuntu 修改 /etc/default/docker 文件,新增最後一行內容
```
# Docker Upstart and SysVinit configuration file
@@ -75,4 +75,4 @@ bridge name bridge id STP enabled interfaces
br0 8000.7e6e617c8d53 no em1
vethe6e5
```
這樣就直接把容器暴露到物理網路上了,多臺物理主機的容器也可以相互聯網了。需要註意的是,這樣就需要自己來保證容器的網路安全了。
這樣就直接把容器暴露到物理網路上了,多臺物理主機的容器也可以相網了。需要註意的是,這樣就需要自己來保證容器的網路安全了。

View File

@@ -7,8 +7,8 @@
![企業應用結構](../_images/enterprise_usage.png)
Docker 占用資源小,在一臺 E5 128 G 內存的服務器上部署 100 個容器都綽綽有余,可以單獨抽一個容器或者直接在宿主物理主機上部署 samba利用 samba 的 home 分享方案將每個用戶的 home 目錄映射到開發中心和測試部門的 Windows 機器上。
Docker 占用資源小,在一臺 E5 128 G 內存的服務器上部署 100 個容器都綽綽有余,可以單獨抽一個容器或者直接在宿主物理主機上部署 samba利用 samba 的 home 分享方案將每個使用者的 home 目錄映射到開發中心和測試部門的 Windows 機器上。
針對某個項目組,由架構師搭建好一個標準的容器環境供項目組和測試部門使用,每個開發工程師可以擁有自己單獨的容器,`docker run -v`用戶的 home 目錄映射到容器中。需要提交測試時,只需要將代碼移交給測試部門,然後分配一個容器使用 `-v` 加載測試部門的 home 目錄啟動即可。這樣,在公司內部的開發、測試基本就統一了,不會出現開發部門提交的代碼,測試部門部署不了的問題。
針對某個項目組,由架構師搭建好一個標準的容器環境供項目組和測試部門使用,每個開發工程師可以擁有自己單獨的容器,`docker run -v`使用者的 home 目錄映射到容器中。需要提交測試時,只需要將代碼移交給測試部門,然後分配一個容器使用 `-v` 加載測試部門的 home 目錄啟動即可。這樣,在公司內部的開發、測試基本就統一了,不會出現開發部門提交的代碼,測試部門部署不了的問題。
測試部門發布測試過的報告後,架構師再一次檢測容器環境,就可以直接交由部署工程師將代碼和容器分別部署到生產環境中了。這種方式的部署橫向性能的擴展性也極好。
測試部門發布測試過的報告後,架構師再一次檢測容器環境,就可以直接交由部署工程師將代碼和容器分別部署到生產環境中了。這種方式的部署橫向性能的擴展性也極好。

View File

@@ -4,7 +4,7 @@ Docker 容器在啟動的時候開啟單個程序,比如,一個 ssh 或者 a
本小節將使用程序管理工具 supervisor 來管理容器中的多個程序。使用 Supervisor 可以更好的控制、管理、重啟我們希望執行的程序。在這裏我們演示一下如何同時使用 ssh 和 apache 服務。
### 配置
首先建一個 Dockerfile內容和各部分的解釋如下。
首先建一個 Dockerfile內容和各部分的解釋如下。
```
FROM ubuntu:13.04
MAINTAINER examples@docker.com
@@ -21,11 +21,11 @@ RUN mkdir -p /var/run/sshd
RUN mkdir -p /var/log/supervisor
```
這裏安裝 3 個軟件,還建了 2 個 ssh 和 supervisor 服務正常執行所需要的目錄。
這裏安裝 3 個軟件,還建了 2 個 ssh 和 supervisor 服務正常執行所需要的目錄。
```
COPY supervisord.conf /etc/supervisor/conf.d/supervisord.conf
```
添加 supervisord 的配置文件,並復制配置文件到對應目錄下面。
新增 supervisord 的配置文件,並復制配置文件到對應目錄下面。
```
EXPOSE 22 80
@@ -47,7 +47,7 @@ command=/bin/bash -c "source /etc/apache2/envvars && exec /usr/sbin/apache2 -DFO
配置文件包含目錄和程序,第一段 supervsord 配置軟件本身,使用 nodaemon 參數來執行。第二段包含要控制的 2 個服務。每一段包含一個服務的目錄和啟動這個服務的命令。
### 使用方法
建鏡像。
鏡像。
```
$ sudo docker build -t test/supervisord .
```
@@ -60,6 +60,6 @@ $ sudo docker run -p 22 -p 80 -t -i test/supervisords
2013-11-25 18:53:23,346 INFO spawned: 'sshd' with pid 6
2013-11-25 18:53:23,349 INFO spawned: 'apache2' with pid 7
```
使用 `docker run` 來啟動我們建的容器。使用多個 `-p` 來映射多個端口,這樣我們就能同時訪問 ssh 和 apache 服務了。
使用 `docker run` 來啟動我們建的容器。使用多個 `-p` 來映射多個端口,這樣我們就能同時訪問 ssh 和 apache 服務了。
可以使用這個方法建一個只有 ssh 服務的基礎鏡像,之後建鏡像可以使用這個鏡像為基礎來
可以使用這個方法建一個只有 ssh 服務的基礎鏡像,之後建鏡像可以使用這個鏡像為基礎來建

View File

@@ -1,11 +1,11 @@
## 建 tomcat/weblogic 集群
## 建 tomcat/weblogic 集群
### 安裝 tomcat 鏡像
準備好需要的 jdk、tomcat 等軟件放到 home 目錄下面,啟動一個容器
```
docker run -t -i -v /home:/opt/data --name mk_tomcat ubuntu /bin/bash
```
這條命令掛載本地 home 目錄到容器的 /opt/data 目錄,容器內目錄若不存在,則會自動建。接下來就是 tomcat 的基本配置jdk 環境變量設置好之後,將 tomcat 程序放到 /opt/apache-tomcat 下面
編輯 /etc/supervisor/conf.d/supervisor.conf 文件,添加 tomcat 項
這條命令掛載本地 home 目錄到容器的 /opt/data 目錄,容器內目錄若不存在,則會自動建。接下來就是 tomcat 的基本配置jdk 環境變量設置好之後,將 tomcat 程序放到 /opt/apache-tomcat 下面
編輯 /etc/supervisor/conf.d/supervisor.conf 文件,新增 tomcat 項
```
[supervisord]
nodaemon=true
@@ -24,7 +24,7 @@ FROM mk_tomcat
EXPOSE 22 8080
CMD ["/usr/bin/supervisord"]
```
根據 Dockerfile 建鏡像。
根據 Dockerfile 建鏡像。
```
docker build tomcat tomcat
```
@@ -56,7 +56,7 @@ CMD ["/usr/bin/supervisord"]
將本地磁盤映射到容器內部,它在主機和容器之間是實時變化的,所以我們更新程序、上傳代碼只需要更新物理主機的目錄就可以了
#### tomcat 和 weblogic 集群的實
#### tomcat 和 weblogic 集群的實
tomcat 只要開啟多個容器即可
```
docker run -d -v -p 204:22 -p 7003:8080 -v /home/data:/opt/data --name tm1 tomcat /usr/bin/supervisord
@@ -70,7 +70,7 @@ docker run -d -v -p 206:22 -p 7005:8080 -v /home/data:/opt/data --name tm3 tomca
缺點是:
* Docker 配置復雜了
* 沒辦法自動擴展集群的計算容量,如需添加節點,需要在 administrator 上先建節點,然後再配置新的容器 supervisor 啟動腳本,然後再啟動容器
* 沒辦法自動擴展集群的計算容量,如需新增節點,需要在 administrator 上先建節點,然後再配置新的容器 supervisor 啟動腳本,然後再啟動容器
另外種方法是將所有的程序都安裝在 adminiserver 上面,需要擴展的時候,啟動多個節點即可,它的優點和缺點和上一種方法恰恰相反。(建議使用這種方式來部署開發和測試環境)
```
docker run -d -v -p 204:22 -p 7001:7001 -v /home/data:/opt/data --name node1 weblogic /usr/bin/supervisord