Mac下docker搭建lnmp環境 + redis + elasticsearch


之前在windows下一直使用vagrant做開發, 團隊里面也是各種開發環境,幾個人也沒有統一環境,各種上線都是人肉,偶爾還會有因為開發、測試、生產環境由於軟件版本或者配置不一致產生的問題, 今年准備持續玩玩docker+kubernetes下的敏捷開發模式(當然還有其它:如持續集成)

備忘下第一步,環境搭建

Mac下docker搭建lnmp環境 + redis + elasticsearch

拉取鏡像 nginx
docker pull hub.c.163.com/library/nginx:latest

拉取鏡像 mysql
docker pull hub.c.163.com/library/mysql:5.6

拉取鏡像 php
docker pull hub.c.163.com/library/php:7.1-fpm

創建mysql容器
docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 --name liugx_mysql56 hub.c.163.com/library/mysql:5.6
參數說明
-d 讓容器在后台運行
-p 添加主機到容器的端口映射
-e 設置環境變量,這里是設置mysql的root用戶的初始密碼,這個必須設置
–name 容器的名字,隨便取,但是必須唯一

創建php-fpm容器
docker run -d -v /Users/liugx/docker/data/www:/var/www/html -p 9000:9000 --link liugx_mysql56:mysql --name liugx_php71 hub.c.163.com/library/php:7.1-fpm
參數說明
-d 讓容器在后台運行
-p 添加主機到容器的端口映射
-v 添加目錄映射,即主機上的/Users/liugx/docker/data/www和容器中/var/www/html目錄是同步的
–name 容器的名字
–link 與另外一個容器建立起聯系,這樣我們就可以在當前容器中去使用另一個容器里的服務。

這里如果不指定–link參數其實也是可以得,因為容易本身也是有ip的且唯一,所以我們也可以直接利用ip去訪問容器。

創建nginx容器
docker run -d -p 80:80 --name liugx_nginx -v /Users/liugx/docker/data/www:/var/www/html --link liugx_php71:phpfpm hub.c.163.com/library/nginx
參數說明:
-d 讓容器在后台運行
-p 添加主機到容器的端口映射
-v 添加目錄映射,即主機上的/Users/liugx/docker/data/www和容器中/var/www/html目錄是同步的
–name 容器的名字
–link 與另外一個容器建立起聯系

后面的redis和elasticsearch直接像創建mysql數據庫容器一樣
docker pull hub.c.163.com/library/redis:latest
docker pull hub.c.163.com/library/elasticsearch:latest

######注意######
配置完畢后需要修改nginx配置文件(后面的步驟和平常配置類似,修改配置了重啟對應的nginx容器即可生效)
主要修改內容,修改主機的根目錄,如果是.php文件就轉發給后端的php-fpm處理(192.168.99.100:9000)

方法:
修改nginx配置文件(進入容器):
docker exec -it liugx_nginx bash
更新軟件源
apt update
安裝vim
apt-get install vim

附上貼圖:
連接mysql

 

訪問php文件

 

nginx配置

 


免責聲明!

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



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