Docker安裝LNMP環(huán)境的詳細過程(可部署TP項目)
更新時間:2022年06月29日 16:21:05 作者:上路抗壓
這篇文章主要介紹了Docker安裝LNMP環(huán)境的詳細過程(可部署TP項目),主要包括安裝docker,安裝nginx,安裝php的命令詳解,需要的朋友可以參考下
Docker安裝LNMP環(huán)境
1、安裝Docker
yum install docker # 啟動并加入開機啟動 sudo systemctl start docker sudo systemctl enable docker
2、 安裝nginx
# 拉取管方鏡像 docker pull nginx # 創(chuàng)建并運行容器,映射端口為80 docker run --name nginx -p 80:80 -d nginx # 訪問IP,nginx能夠正常運行
3、 安裝PHP
# 拉取管方鏡像,這里拉取的是php7,根據(jù)自己所需拉取 docker pull phpdockerio/php7-fpm
4、 查看nginx運行路徑
# 進入nginx容器
docker exec -it nginx bash
# 查看nginx配置文件
cat /etc/nginx/conf.d/default.conf -n
# 找到location / {
# root /usr/share/nginx/html;#這是nginx默認運行路徑
# index index.html index.html;
# }5、 創(chuàng)建并運行php容器
docker run --name phpfpm -d 9000:9000 -v /var/www/html:/usr/share/nginx/html -d phpdockerio/php7-fpm
6、 進入php容器,創(chuàng)建index2.php測試文件
# 進入php容器
docker exec -it phpfpm bash
# 進入運行目錄
cd /usr/share/nginx/html
# vim 創(chuàng)建index2.php
# 因為docker沒有安裝vim,此時運行
apt-get update
apt-get install vim
cat << EOF > /root/.vimrc
:set encoding=utf-8
:set fileencodings=ucs-bom,utf-8,cp936
:set fileencoding=gb2312
:set termencoding=utf-8
EOF
# 創(chuàng)建index2.php
vim index2.php
<?php
echo 1;
?>
# esc :wq 保存退出7、 獲取到phpfpm 這個容器的ip
docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' phpfpm
# 172.17.0.38、配置nginx 以便支持php文件訪問
docker exec -it nginx bash
# 進入nginx配置目錄
cd /etc/nginx/conf.d
# 安裝vim
apt-get update
apt-get install vim
# 編輯default.conf配置文件
vim default.conf
# 在default.conf中加入
location / {
root /usr/share/nginx/html/tp5.1/public;#不是tp的話去掉/tp5.1/public
index index.html index.htm index.php;
if (!-e $request_filename){
rewrite ^(.*)$ /index.php?s=/$1 last;
break;
}
}
location ~ \.php$ {
root /usr/share/nginx/html/tp5.1/public;#不是tp的話去掉/tp5.1/public
fastcgi_pass 172.17.0.3:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
fastcgi_split_path_info ^((?U).+\.php)(/?.+)$;
include fastcgi_params;
}
# 保存退出,重啟nginx
docker restart nginx
# 訪問ip/index2.php,成功9、 拉取Mysql鏡像
docker pull mysql # 創(chuàng)建并運行mysql容器 docker run --name mysql -p 3306:3306 -v $PWD/conf:/etc/mysql/conf.d -v $PWD/logs:/logs -v $PWD/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql #這是使用navicat連接會報錯 docker exec -it mysql /bin/bash mysql -uroot -p #授權(quán) GRANT ALL ON *.* TO 'root'@'%'; #刷新權(quán)限 flush privileges; #更新加密規(guī)則 ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER; #更新root密碼 ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456'; #刷新權(quán)限 flush privileges;
10、 服務(wù)器文件放入容器中
docker ps #查看容器id docker cp linux文件 容器id:容器路徑
#linux中查找php.ini php -i | grep 'php.ini' #docker 因配置文件出錯無法進入容器內(nèi)解決辦法 #將容器配置文件復(fù)制到服務(wù)器上 1.docker cp mynginx:/etc/nginx/conf.d/default.conf /users/nginx/default.conf #修改后再寫回容器中 2.docker cp /users/nginx/default.conf mynginx:/etc/nginx/conf.d/default.conf
到此這篇關(guān)于Docker簡單安裝LNMP環(huán)境(可部署TP項目)的文章就介紹到這了,更多相關(guān)Docker 安裝LNMP環(huán)境內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Docker中容器數(shù)據(jù)卷(Data Volume)和數(shù)據(jù)管理詳解
本文主要給大家介紹了關(guān)于Docker中容器數(shù)據(jù)卷(Data Volume)和數(shù)據(jù)管理的相關(guān)資料,文中介紹的很詳細,對大家具有一定的參考價值,需要的朋友們下面來一起看看吧。2017-02-02
Docker?部署?Minio?對象存儲服務(wù)器的過程詳解
Minio是一個輕量級的應(yīng)用程序,可以在各種環(huán)境中運行,包括公共云、私有云和混合云,這篇文章主要介紹了Docker?部署?Minio?對象存儲服務(wù)器的過程詳解,需要的朋友可以參考下2024-07-07
docker部署zookeeper集群方式(單主機、多主機)
這篇文章主要介紹了docker部署zookeeper集群方式(單主機、多主機),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-04-04

