docker-compose 搭建 nginx/php/mysql/redis/go 環境

Dockerfiles

項目路徑: https://github.com/hopher/doc...php

用 Docker 容器服務的方式搭建 nginx/php/mysql/redis/go 環境,易於維護、升級。html

相關軟件版本:mysql

  • PHP 7.2
  • Golang 1.12
  • MySQL 5.7
  • Nginx 1.15
  • Redis 3.2

PHP 擴展nginx

  • swoole v4.3.0

使用

1.下載

下載 zip 壓縮包 && 解壓git

wget -c https://github.com/hopher/dockerfiles/archive/master.zip -O dockerfiles.zip
unzip dockerfiles.zip
mv dockerfiles-master ~/app

其中, ~/app 爲我的工做目錄,請根據本身須要更改github

2.docker-compose 構建項目

進入 docker-compose.yml 所在目錄:
執行命令:redis

docker-compose up

若是沒問題,下次啓動時能夠以守護模式啓用,全部容器將後臺運行:sql

docker-compose up -d

使用 docker-compose 基本上就這麼簡單,Docker 就跑起來了,用 stop,start 關閉開啓容器服務。
更多的是在於編寫 dockerfile 和 docker-compose.yml 文件。 docker

能夠這樣關閉容器並刪除服務:shell

docker-compose down

3. 測試

將項目源碼放到 src 目錄下, 並運行

cd src
echo "<?php phpinfo();" > index.php

打開 url 訪問 http://localhost/index.php

4.幫助

執行命令:

docker-compose --help

參數說明

  • -p 指定項目名稱,默認爲當前目錄名, 也能夠直接在docker-compose.yml中設置image, container_name 這2個屬性

5.目錄結構

dockerfiles
    |-- services            # docker 相關服務
    |-- src                 # 工做源碼目錄, 如 nginx `/usr/share/nginx/html`
    |-- docker-compose.yml  # docker-compose.yml 定義
    |-- deprecated.sh       # 已棄用 shell 腳本, 勿使用

各系統軟件源

Ubuntu

系統代號 版本
precise 12.04
trusty 14.04
vivid 15.04
xenial 16.04
zesty 17.04

Debian

系統代號 版本
squeeze 6.x
wheezy 7.x
jessie 8.x
stretch 9.x
buster 10.x

阿里源

修改 /etc/apt/sources.list 爲如下內容

deb http://mirrors.aliyun.com/debian stretch main contrib non-free
deb-src http://mirrors.aliyun.com/debian stretch main contrib non-free
deb http://mirrors.aliyun.com/debian stretch-updates main contrib non-free
deb-src http://mirrors.aliyun.com/debian stretch-updates main contrib non-free
deb http://mirrors.aliyun.com/debian-security stretch/updates main contrib non-free
deb-src http://mirrors.aliyun.com/debian-security stretch/updates main contrib non-free
NOTE:
查詢本身的Linux版本 cat /etc/issue

經常使用shell組合

# 刪除全部容器
docker stop `docker ps -q -a` | xargs docker rm

# 刪除全部標籤爲none的鏡像
docker images|grep \<none\>|awk '{print $3}'|xargs docker rmi

參考資料

相關文章
相關標籤/搜索