CentOS 7.8 64位 Docker + PHP + Nginx

1. Docker安裝

參考官方推薦的方法安裝Docker
https://docs.docker.com/engine/install/centos/#install-using-the-repository

1.1 設(shè)置存儲(chǔ)庫
sudo yum install -y yum-utils
sudo yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo

拋出異常

Loaded plugins: fastestmirror
adding repo from: https://download.docker.com/linux/centos/docker-ce.repo
grabbing file https://download.docker.com/linux/centos/docker-ce.repo to /etc/yum.repos.d/doc ker-ce.repo
Could not fetch/save url https://download.docker.com/linux/centos/docker-ce.repo to file /etc/yum.repos.d/docker-ce.repo: [Errno 12] Timeout on https://download.docker.com/linux/centos/docker-ce.repo: (28, 'Operation timed out after 30000 milliseconds with 0 out of 0 bytes received')

換源

 sudo yum-config-manager \
    --add-repo \
    http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
1.2 安裝Docker最新版本
 sudo yum install docker-ce docker-ce-cli containerd.io
1.3 啟動(dòng)Docker
 sudo systemctl start docker
1.4 通過運(yùn)行hello-world 映像來驗(yàn)證是否正確安裝了Docker Engine 畔师。
sudo docker run hello-world
image.png

運(yùn)行以上信息說明安裝成功

如果進(jìn)行pull失敗, 可以換國內(nèi)源
Docker 官方中國區(qū)
https://registry.docker-cn.com
網(wǎng)易
http://hub-mirror.c.163.com
中國科技大學(xué)
https://docker.mirrors.ustc.edu.cn
阿里云
https://pee6w651.mirror.aliyuncs.com

修改源

vim /etc/docker/daemon.json

添加以下內(nèi)容
{
"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]
}

sudo systemctl daemon-reload
sudo systemctl restart docker

2. PHP安裝

php鏡像
https://hub.docker.com/_/php?tab=tags&page=1&ordering=last_updated
發(fā)行版本說明
https://www.debian.org/releases/
找到穩(wěn)定版本的php-fpm版進(jìn)行安裝沼填,我這邊安裝的是php7.4

docker pull php:7.4.19-fpm-buster

3. 安裝nginx

nginx鏡像
https://hub.docker.com/_/nginx?tab=tags&page=1&ordering=last_updated
同樣找到穩(wěn)定版本進(jìn)行安裝

docker pull nginx:stable-perl

查看已經(jīng)安裝好的鏡像

docker image ls
image.png

4. 新建Docker掛載文件夾(根據(jù)自己需求存放)

cd /
mkdir docker 
cd docker
mkdir php # php配置等信息
mkdir nginx # nginx配置等信息
mkdir www # 存放網(wǎng)頁代碼

5. 運(yùn)行一個(gè)PHP測試容器,目的拷貝出默認(rèn)配置文件

 docker run --name  myphp-fpm  -d bfdbfe3debeb

查看運(yùn)行中的容器

docker ps
image.png

將php容器內(nèi)的配置文件拷貝到主機(jī)中汁果,這里粗暴的直接將整個(gè)文件夾拷貝出來

docker cp d47ae217641f:/usr/local/etc /docker/php

cp命令會(huì)將容器etc目錄拷貝到/docker/php/etc下践瓷,強(qiáng)迫癥手動(dòng)將etc目錄里的內(nèi)容全部移動(dòng)到php下愧口,然后刪除了etc文件夾

image.png

6. 運(yùn)行一個(gè)Nginx測試容器,目的同樣拷貝出默認(rèn)配置文件

docker run --name  mynginx  -d 56e67f61e79c

查看運(yùn)行中的容器

docker ps
image.png
docker cp a2167091f8a7:/etc/nginx /docker
image.png

7. 刪除測試容器

# 停止容器
docker stop d47ae217641f
docker stop a2167091f8a7

# 刪除容器
docker rm d47ae217641f
docker rm  a2167091f8a7

8. 創(chuàng)建正式容器

創(chuàng)建php容器
docker run -idt --name myphp-7.4.19-fpm-buster -v /docker/php:/usr/local/etc:ro  -v /docker/www/:/var/www/html/  bfdbfe3debeb 

--name 容器名稱
-v 掛載目錄
-i 以交互模式運(yùn)行容器欢际,通常與 -t 同時(shí)使用母市;
-t 為容器重新分配一個(gè)偽輸入終端,通常與 -i 同時(shí)使用损趋;
-d 后臺(tái)運(yùn)行容器患久,并返回容器ID;

創(chuàng)建nginx容器
docker run -idt --name mynginx-stable-perl -p 80:80 -p 443:443 -v /docker/nginx:/etc/nginx:ro -v /docker/log/nginx:/var/log/nginx -v /docker/www/:/usr/share/nginx/html  --link myphp-7.4.19-fpm-buster:php  56e67f61e79c

/docker/www
新建一個(gè)html文件


image.png

image.png

瀏覽器訪問浑槽,查看是否運(yùn)行成功


image.png
修改Nginx配置

/docker/nginx/conf.d/default.conf

server {
    listen       80;
    listen  [::]:80;
    server_name  localhost;

    #access_log  /var/log/nginx/host.access.log  main;
  
    location / {
        # nginx訪問目錄蒋失,這里需要注意,目錄設(shè)置的是nginx容器的目錄
        root   /usr/share/nginx/html;
        index  index.html index.htm;
        autoindex  off;
    }
    
    location ~ \.php$ {
        # php:9000 對(duì)應(yīng)之前運(yùn)行容器時(shí)的命令 --link myphp-7.4.19-fpm-buster:php桐玻,端口號(hào)是php容器的端口
        fastcgi_pass   php:9000;
        fastcgi_index  index.php;
        # php訪問目錄篙挽,這里需要注意,目錄設(shè)置的是php容器的目錄
        fastcgi_param  SCRIPT_FILENAME  /var/www/html$fastcgi_script_name; 
        include        fastcgi_params;
    }
}
安裝php常用擴(kuò)展

redis擴(kuò)展
進(jìn)入php容器

 docker exec -it 9a078e7f3e99 bash

安裝常用工具包

apt-get update && apt-get install make cmake gcc g++ bison libncurses5-dev build-essential vim autoconf

如果 apt-get update命令卡可以換成阿里云鏡像

sed -i "s@http://deb.debian.org@http://mirrors.aliyun.com@g" /etc/apt/sources.list
apt-get clean
apt-get update

安裝redis擴(kuò)展

pecl install igbinary
pecl install lzf
pecl install zstd
pecl install redis

安裝pdo_mysql擴(kuò)展(自帶)

docker-php-ext-install pdo_mysql

添加擴(kuò)展配置文件
/docker/php/php/conf.d/redis.ini

extension=igbinary.so
extension=lzf.so
extension=zstd.so
extension=redis.so

/docker/php/php/conf.d/pdo_mysql.ini

extension=pdo_mysql

重啟php容器

docker restart 9a078e7f3e99

查看phpinfo()

image.png

安裝完成镊靴!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末铣卡,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子偏竟,更是在濱河造成了極大的恐慌煮落,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,546評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件踊谋,死亡現(xiàn)場離奇詭異蝉仇,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,224評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門轿衔,熙熙樓的掌柜王于貴愁眉苦臉地迎上來沉迹,“玉大人,你說我怎么就攤上這事害驹”夼唬” “怎么了?”我有些...
    開封第一講書人閱讀 164,911評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵裙秋,是天一觀的道長琅拌。 經(jīng)常有香客問我,道長摘刑,這世上最難降的妖魔是什么进宝? 我笑而不...
    開封第一講書人閱讀 58,737評(píng)論 1 294
  • 正文 為了忘掉前任,我火速辦了婚禮枷恕,結(jié)果婚禮上党晋,老公的妹妹穿的比我還像新娘。我一直安慰自己徐块,他們只是感情好未玻,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,753評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著胡控,像睡著了一般扳剿。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上昼激,一...
    開封第一講書人閱讀 51,598評(píng)論 1 305
  • 那天庇绽,我揣著相機(jī)與錄音,去河邊找鬼橙困。 笑死瞧掺,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的凡傅。 我是一名探鬼主播辟狈,決...
    沈念sama閱讀 40,338評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼夏跷!你這毒婦竟也來了哼转?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,249評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤拓春,失蹤者是張志新(化名)和其女友劉穎释簿,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體硼莽,經(jīng)...
    沈念sama閱讀 45,696評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,888評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了懂鸵。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片偏螺。...
    茶點(diǎn)故事閱讀 40,013評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖匆光,靈堂內(nèi)的尸體忽然破棺而出套像,到底是詐尸還是另有隱情,我是刑警寧澤终息,帶...
    沈念sama閱讀 35,731評(píng)論 5 346
  • 正文 年R本政府宣布夺巩,位于F島的核電站,受9級(jí)特大地震影響周崭,放射性物質(zhì)發(fā)生泄漏柳譬。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,348評(píng)論 3 330
  • 文/蒙蒙 一续镇、第九天 我趴在偏房一處隱蔽的房頂上張望美澳。 院中可真熱鬧,春花似錦摸航、人聲如沸制跟。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,929評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽雨膨。三九已至,卻和暖如春读串,著一層夾襖步出監(jiān)牢的瞬間聊记,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,048評(píng)論 1 270
  • 我被黑心中介騙來泰國打工爹土, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留甥雕,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,203評(píng)論 3 370
  • 正文 我出身青樓胀茵,卻偏偏與公主長得像社露,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子琼娘,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,960評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容