玩轉docker 自定義Dev環境

2021-10-24 17:42:35 字數 2019 閱讀 5723

extension = yaf.so

extension = swoole.so

extension = mongodb.so

extension = redis.so

extension = trie_filter.so

extension = apcu.so

extension = xdiff.so

1.lnmp官網穩定版1.7

wget  -co lnmp1.7.tar.gz && tar zxf lnmp1.7.tar.gz && cd lnmp1.7 && ./install.sh lnmp
2.docker commit :從容器建立乙個新的映象。

docker commit -a "stark" -m "stark_lnmp" a404c6c174a2  changpei_lnmp2.0(新映象名):(tag)cp2.0
php官網找到相應的擴充套件

1.安裝yaf

tar -xzvf yaf-3.2.5.tgz // 解壓

phpize

./configure --with-php-config=/usr/local/php/bin/php-config

make && make install

extension=yaf.so

2.安裝swoole

git clone 

cd swoole-src

phpize

./configure --with-php-config=/usr/local/php/bin/php-config

make && make install

extension=swoole.so

3.安裝 mongodb

wget 

tar -xzvf mongodb-1.8.1.tgz

phpize //使用phpize解壓 /usr/local/php/bin/phpize

./configure --with-php-config=/usr/local/php/bin/php-config

make && make install

extension=mongodb.so

安裝apcu

wget 

tar zxvf apcu-5.1.17.tgz

cd apcu-5.1.17

phpize

./configure --with-php-config=/usr/local/php/bin/php-config

make && make install

5.安裝redis

之前的部落格裡寫過就不贅述了

搭建成功後,執行docker ,命令如下,用phpinfo()來檢視下配置

docker run -it -d -p 8086:80 -v /users/stark/cp/gzcp:/home/wwwroot/default/ 6ded827cca6d /bin/bash
啟動後也發現了新的問題:

1.當docker執行起來時,怎麼訪問其他docker例項中的redis,怎麼訪問外部的docker機器?

2.當docker啟動時,是不是因為埠占用而導致別的redis無法啟動?

[root@2fefb27a68de /]# /etc/init.d/redis status

redis server is running.

[root@2fefb27a68de /]# ps aux |grep redis

root 637 0.0 0.0 9180 1056 pts/0 s+ 09:17 0:00 grep --color=auto redis

3.第三個就是靜態頁面的路徑不正確,不知道yaf裡是怎麼搞的,這個問題先放放

如何玩轉swoole 玩轉dnmp之自定義容器

文章簡介 在前面幾篇文章中,我們使用dnmp搭建了乙個完整的docker開發環境。這篇文章接著分享如何在dnmp的基礎上搭建乙個自定義的php容器,實現多版本的php容器。前期準備 複製docker compose.sample.yml檔案為docker compose.ymlcp docker c...

docker自定義網橋

由於docker預設網橋和公司網段衝突,導致無法訪問容器中執行的服務,因此要自定義docker網橋 docker0 1 關閉docker服務 2 停止舊網橋並刪除 ip link set dev docker0 down iplink del docker03 請先安裝bridge包 yum ins...

docker自定義網橋

除了預設的 docker0 網橋,使用者也可以指定網橋來連線各個容器。在啟動 docker 服務的時候,使用 b bridge 或 bridge bridge 來指定使用的網橋。如果服務已經執行,那需要先停止服務,並刪除舊的網橋。sudo systemctl stop docker sudo ip ...