新聞中心
實(shí)驗(yàn)前準(zhǔn)備:
下載:
[root@localhost ~]# curl -L https://github.com/docker/compose/releases/download/1.25.1-rc1/docker-compose-`uname -s-
uname -m` -o /usr/local/bin/docker-compose
[root@localhost ~]# chmod +x /usr/local/bin/docker-compose
[root@localhost ~]# docker-compose -v
docker-compose version 1.25.1-rc1, build d92e9bee
//導(dǎo)入鏡像
[root@localhost?~]#?docker??load????nginx.tar??&&??docker??load??php.7.2-fpm.tar??&&??docker?load???mysql-5.7.tar?
//復(fù)制配置文件
[root@localhost ~]# mkdir -p compose-lnmp/docker/
[root@localhost ~]# cd compose-lnmp/
[root@localhost compose-lnmp]# mkdir wwwroot
[root@localhost?~]#?docker?run??-itd??--name??test??nginx:latest??[root@localhost?~]#?docker??cp??test:/etc/nginx??/root/compose-lnmp/docker/??
br/>[root@localhost?~]#?docker??cp??test:/etc/nginx??/root/compose-lnmp/docker/??
br/>[root@localhost?~]#?vim??/root/compose-lnmp/wwwroot/html/index.html??
hello??LNMP!??
//添加php測(cè)試界面[root@localhost?~]#?vim??/root/compose-lnmp/wwwroot/html/test.php??
br/>[root@localhost?~]#?vim??/root/compose-lnmp/wwwroot/html/test.php??
phpinfo();??
?>??
//設(shè)置tab鍵的空格數(shù)量[root@localhost?~]#?vim??.vimrc??
br/>[root@localhost?~]#?vim??.vimrc??
br/>[root@localhost?~]#?cat?.vimrc???
//編寫docker-compose.yml文件[root@localhost?~]#?cd??/root/compose-lnmp/??
br/>[root@localhost?~]#?cd??/root/compose-lnmp/??
version: "3.1"
services:
nginx:
container_name: nginx
image: nginx
networks:
lnmp:
ipv4_address: 172.16.10.10
restart: always
ports:
- 80:80
volumes: - /root/compose-lnmp/wwwroot/html:/usr/share/nginx/html
- /root/compose-lnmp/docker/nginx:/etc/nginx
mysql:
container_name: mysql
image: mysql:5.7
networks:
lnmp:
ipv4_address: 172.16.10.20
restart: always
ports: - 3306:3306
environment:
MYSQL_ROOT_PASSWORD: 123.com
php:
container_name: phpfpm
image: php:7.2-fpm
networks:
lnmp:
ipv4_address: 172.16.10.30
restart: always
ports: - 9000:9000
volumes: - /root/compose-lnmp/wwwroot/html:/usr/share/nginx/html
networks:
lnmp:
driver: bridge
ipam:
config:- subnet: 172.16.10.0/24
[root@localhost ~]# echo net.ipv4.ip_forward = 1 >> /etc/sysctl.conf
[root@localhost ~]# systemctl restart network
[root@localhost?compose-lnmp]#?docker-compose??up??-d??
//修改nginx配置文件,nginx和php連接[root@localhost?compose-lnmp]#?cd??docker/nginx/conf.d/??
br/>[root@localhost?compose-lnmp]#?cd??docker/nginx/conf.d/??
10行:?
location?/?{??
??root???/usr/share/nginx/html;??
?index??index.html?index.htm?index.php;??//添加php解析??
}??
//打開此模塊,并更改相應(yīng)信息:
30行:????
location?~?.php$?{??
??root???????????/usr/share/nginx/html;??
??fastcgi_pass???172.16.10.30:9000;??
??fastcgi_index??index.php;??
??fastcgi_param??SCRIPT_FILENAME??$document_root$fastcgi_script_name;??
??include????????fastcgi_params;??
}??
//重啟
[root@localhost?conf.d]#?docker-compose??restart??
//php和mysql連接[root@localhost?compose-lnmp]#?cd??wwwroot/html/??
br/>[root@localhost?compose-lnmp]#?cd??wwwroot/html/??
[root@localhost?html]#?mv??phpMyAdmin-4.9.1-all-languages??phpmyadmin??
//更改nginx配置文件[root@localhost?compose-lnmp]#?cd??docker/nginx/conf.d/??
br/>[root@localhost?compose-lnmp]#?cd??docker/nginx/conf.d/??
//在27行添加
location??/phpmyadmin?{??
?root??/usr/share/nginx/html;??
?index???index.html??index.htm??index.php;?
}?
//在43行添加
location?~?/phpmyadmin/(?
?root???????????/usr/share/nginx/html;??
?fastcgi_pass???172.16.10.30:9000;??
?fastcgi_index??index.php;??
?fastcgi_param??SCRIPT_FILENAME??$document_root$fastcgi_script_name;??
?include????????fastcgi_params;??
}??
//重啟
[root@localhost?conf.d]#?docker-compose??restart??
//需要對(duì)php鏡像做出更改,添加php和mysql連接的模塊寫一個(gè)Dockerfile
[root@localhost?~]#?vim??Dockerfile??
br/>寫一個(gè)Dockerfile
[root@localhost?~]#?vim??Dockerfile??
RUN apt-get update && apt-get install -y \
libfreetype6-dev \
libjpeg62-turbo-dev \
libpng-dev \
&& docker-php-ext-install -j$(nproc) iconv \
&& docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ \
&& docker-php-ext-install -j$(nproc) gd \
&& docker-php-ext-install mysqli pdo pdo_mysql
[root@localhost?~]#?docker?build??-t??phpmysql??.??
//刪除容器,更改docker-compose.yml文件,并重新運(yùn)行[root@localhost?compose-lnmp]#?docker-compose??stop??
br/>[root@localhost?compose-lnmp]#?docker-compose??stop??
br/>[root@localhost?compose-lnmp]#?vim??docker-compose.yml?
image:?phpmysql??
[root@localhost?compose-lnmp]#?docker-compose??up??-d??
//修改phpmyadmin的配置文件,指定連接數(shù)據(jù)庫(kù)的IP,然后重啟[root@localhost?compose-lnmp]#?cd??wwwroot/html/phpmyadmin/??
br/>[root@localhost?compose-lnmp]#?cd??wwwroot/html/phpmyadmin/??
br/>[root@localhost?phpmyadmin]#?vim??config.inc.php??
[root@localhost?phpmyadmin]#?cd??-??
br/>$cfg['Servers'][$i]['host']?=?'172.16.10.20';??
[root@localhost?phpmyadmin]#?cd??-??
[root@localhost?compose-lnmp]#?docker-compose??restart??
//再次訪問
用戶名:root
密碼:123.com
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。
標(biāo)題名稱:docker-compose部署LNMP-創(chuàng)新互聯(lián)
標(biāo)題鏈接:http://fisionsoft.com.cn/article/ideip.html