1. 程式人生 > >Docker compose 安裝以及使用

Docker compose 安裝以及使用

  Docker compose 是用來編排很多docker容器時啟動順序的工具,單個容器可以使用docker run 來啟動,兩三個也可以用docker run 來啟動,但是,實際生產環境中,一個專案需要很多docker容器相互依賴,這時候想要一個一個啟動費事費時。這時候就需要一個工具來解決這個問題。docker compose 的出現,解決了一個專案多容器啟動時的複雜性。

  環境:centos7.2

  主機:192.168.1.200

一:安裝

1:從github上下載docker-compose二進位制檔案安裝

  1  curl -L https://github.com/docker/compose/releases/download/1.16.1/docker-compose-`uname -s`-`uname -m` -o /usr/bin/docker-compose
  
2 chmod +x /usr/bin/docker-compose

注:如果下載的路徑沒有在/usr/bin下面,請做軟連線到/usr/bin下。

2:pip安裝

  1 pip install docker-compose

 注:需要安裝python才有pip功能,Linux 自帶python2.7,但沒有pip

二:使用

實驗目的:使用docker-compose 編排工具搭建wordpress容器。

1:建立wordpress工作目錄。

  1 mkdir /docker/wordpress/
  2 cd /docker/wordpress/

2:編輯compose.yml(compose配置檔案)

  1 vim docker-compose.yml
wordpress:
  image:
    wordpress
  links:
    - db:mysql
  ports:
    - 80:80
db:
  image:
    mariadb
  volumes:
    - /docker-compose/mysql/:/var/lib/mysql
  environment:
    MYSQL_ROOT_PASSWORD: 123456

註解:以下程式碼用於解釋,需要程式碼請複製上面的程式碼。

 1 wordpress:    容器模組
2   image:     映象模組 3     wordpress  映象名稱,這裡是從docker hub下載wordpress映象。 4   links:      link模組,用來連結2個容器之間的通訊,容器內直接通訊。官方不推薦使用這種方式來進行容器內的通訊,後續版本會移除。官方文件:https://docs.docker.com/network/links/ 5     - db:mysql  db是wordpress容器在link下mysql的別名。 6   ports:      ports模組,用於埠對映。 7     - 80:80    將wordpress容器內的80埠對映到宿主機的真實80埠上,就可以通過訪問真實主機(宿主機)的埠訪問到容器內的80埠。 8 db:        容器模組 9   image:     映象模組 10     mariadb  從docker hub 下載mariadb映象。 11   volumes:    檔案系統模組,由於設計到docker工作原理,請自行移步至官方文件理解:https://docs.docker.com/storage/volumes/ 12     - /docker-compose/mysql/:/var/lib/mysql    將宿主機的/docker-compose/mysql/目錄對映到容器內/var/lib/mysql目錄。兩個目錄中的檔案實時同步。下篇文件詳細講解。
13   environment:   引數模組
14     MYSQL_ROOT_PASSWORD: 123456  指定mariadb容器的初始密碼為123456

3:執行wordpress專案

  注:執行時必須在compose.yml(compose配置檔案)目錄下執行。

  1 cd /docker/wordpress/
  2 docker-compose up -d

  注:-d 後臺執行。

  

4:檢視是否啟動成功,瀏覽器訪問:192.168.1.200

 

至此,使用docker-compose編排搭建wordpress容器專案成功。