天天看點

docker+compose+nginx+php

Docker 可以讓開發者打包他們的應用以及依賴包到一個輕量級、可移植的容器中,然後釋出到任何流行的 Linux 機器上,也可以實作虛拟化。

我用docker做什麼?

快速搭建開發所需環境,測試實驗新元件(如rabbitmq,kafka).避免因安裝而浪費太多時間,我的目的是快速嘗試使用。

安裝docker

brew cask install docker
           

docker-compose

Compose 是一個使用者定義和運作多個容器的 Docker 應用程式。在 Compose 中你可以使用 YAML 檔案來配置你的應用服務。然後,隻需要一個簡單的指令,就可以建立并啟動你配置的所有服務。

目錄結構

docker+compose+nginx+php

一組服務建立一個目錄

配置檔案

version: '2'
services:
  php7.2:
    image: php:7.2-fpm
    ports:
      - "9000:9000"
    volumes: 
      - ./php:/usr/local/etc/php
      - /Users/caowenpeng/www:/www
  nginx:
    image: nginx
    ports: 
      - "80:80"
    volumes:
      - /Users/caowenpeng/www:/www
      - ./nginx:/etc/nginx

           

啟動

docker-compose up -d
           

常用指令

指令 說明
up 建立和啟動容器
ps 列出所有容器
down 停止并删除容器,鏡像,挂載
start 啟動服務
stop 停止服務
restart 重新開機服務

第一次使用up,之後使用start,如果再次使用up将會重新建立容器,一些對容器的修改将會丢失

其他問題

進入容器

docker-compose exec php7.2 bash
           

進入容器後會發現隻能用少量指令,連ps等都沒有,這個時候需要安裝一些程式

apt-get update  ##更新元
apt-get install procps  ## 安裝 ps
           

安裝php-rdkafka拓展

apt-get install wget
wget https://github.com/edenhill/librdkafka/archive/master.zip

apt-get install unzip

unzip master.zip

cd librdkafka

./configure 

make

make install 

pecl install http://pecl.php.net/get/rdkafka-3.0.4.tgz

#在php.ini 配置啟用 rdkafka拓展



           

繼續閱讀