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容器項目成功。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM