本地使用 docker 快速搭建一個 PHP7.4 學習環境

看上隔壁小花了啦發表於2019-12-29

安裝 docker

安裝方法:https://hub.docker.com/?overlay=onboarding
文件手冊:https://docs.docker.com/docker-hub/

安裝完成後使用命令檢視版本

$ docker --version

本地使用 docker 快速搭建一個 PHP7.4 學習環境

下載映象

1、拉取需要的映象

hub.docker.com 拉取需要的映象
本地使用 docker 快速搭建一個 PHP7.4 學習環境

2、檢視拉取方法

本地使用 docker 快速搭建一個 PHP7.4 學習環境

3、轉到終端介面

拉取映象

$ docker pull centos

本地使用 docker 快速搭建一個 PHP7.4 學習環境

檢視映象

$ docker images

使用映象建立容器

使用映象建立一個容器,並掛在到本地目錄(用於檔案同步)

$ docker run -it -d -p 1234:80 -v /usr/local/var/www/docker/php:/usr/share/nginx/html --privileged --name centos-php7.4  centos /usr/sbin/init
引數 釋義
run 啟動容器的命令
-it i:互動模式 t:終端
-d 後臺執行
-p 1234:80 埠代理 1234 為本地埠,80 為容器內服務埠
/usr/local/var/www/docker/php:/usr/share/nginx/html /usr/local/var/www/docker/php:本地路徑,/usr/share/nginx/html:容器內路徑;將本地和容器目錄同步,之後可以直接在本地編寫程式碼測試;/usr/share/nginx/html 是 yum 安裝 nginx 服務的預設目錄,如過其他方式安裝請自行更換
--privileged 容器內預設使用 root 登入
--name centos-php7.4 自定義你的容器名稱
centos 你的映象名稱
/usr/sbin/init centos 預設啟動項

啟動成功後會返回容器 id
本地使用 docker 快速搭建一個 PHP7.4 學習環境

連線容器

$ docker exec -it a75482c765e5febee126 /bin/bash 

本地使用 docker 快速搭建一個 PHP7.4 學習環境

之後可以安裝自己想要安裝的服務比如安裝一個 nginx 和 php 7.4。不管安裝什麼,第一步

    $ yum update -y

配置容器對外埠

可以使用 nginx 來代理對外的 80 埠

1、安裝 net-tools 工具

$ yum install -y net-tools

2、檢視網路埠
本地使用 docker 快速搭建一個 PHP7.4 學習環境

3、如果您的埠監聽正常,就可以在你的本地訪問 http://localhost:1234
本地使用 docker 快速搭建一個 PHP7.4 學習環境

4、安裝 php 7.4
通過 yum 快速安裝,大家可以參考這個連結 https://computingforgeeks.com/how-to-insta...
注意安裝完成後將 /etc/php-fpm.d/www.conf 中的 listen 改為 埠監聽,否則會出現許可權問題
本地使用 docker 快速搭建一個 PHP7.4 學習環境

容器轉成本地映象,推送到 hub.docker.com

容器配置完成後,你甚至可以將其 push 到你的 hub.docker.com 上,之後別人也可以直接下載你的映象

1、將容器匯出為本地檔案(我的理解是快照)
檢視容器列表

$ docker ps -a 
$ docker export a75482c765e5febee126 > ~/Study/docker/study-php7.4

2、匯入本地快照

$ cat ~/Study/docker/study-php7.4 | docker import - wangfeiyang/centos-php7.4

3、推送到 hub.docker.com

$ docker push wangfeiyang/centos-php7.4

4、檢視

$ docker images

本地使用 docker 快速搭建一個 PHP7.4 學習環境

注意事項

1、使用 docker 建立的容器,預設什麼服務或者軟體都沒有需要自己安裝

2、連線容器後,安裝的服務或者軟體預設都不會跟隨容器的啟動而啟動;可以配置 linux 啟動項來完成此目的
使用 yum 安裝的服務或者軟體可以通過這個命令來將它設為自啟動,

    $ systemctl enable nginx
同樣,也可以編寫 自啟動指令碼
````
$ vi /etc/rc.d/rc.local
````
![本地使用 docker 快速搭建一個 PHP7.4 學習環境](https://cdn.learnku.com/uploads/images/201912/29/35213/WDrHRCjoL7.png!large)
然後換行寫入需要啟動的命令就好了比如

本地使用 docker 快速搭建一個 PHP7.4 學習環境

3、確保容器掛載目錄和本地同步目錄擁有其相應許可權,否則無法實時編寫程式碼

目前正在學習 docker 中,希望可以和大家一起交流交流(一幾我裡giao ?????)

未知的永遠是最精彩的!

相關文章