1. 程式人生 > >PHP 本地開發環境 docker 安裝

PHP 本地開發環境 docker 安裝

docker php 本地開發環境

魯迅:不想打產品的程式設計師,不是好銷售

前言

很多人在配置docker的時候,會因為不瞭解他裡面的目錄結構,配置問題,從而會導致很多不明白的地方。

但是,小夥子,你看這篇文章,你就看對了。我會用“短小精悍”的語言快速的帶你入docker 坑。可能文章裡面,寫的有什麼跟你的價值觀不對的地方,請用你的小拳拳砸你的ctrl+F4 。我是一個經不起罵的人,如果你罵我 (我會給你機會罵我?先打死再說)(手動滑稽)。

強烈建議 csdn 加入emoji表情。

mysql安裝正文

mysql 安裝相對來說簡單很多

[[email protected]
app]# docker pull mysql:5.7 [[email protected] app]# docker run - -name mysql_server -p 3306:3306 -e MYSQL\_ROOT\_PASSWORD=123456 -d mysql:5.7 命令解釋 # -e 內建環境變數 這裡是給ROOT 帳號設定密碼 沒了。

但是,我們安裝 需要先安裝mysql 再安裝php 因為 容器之間,需要–link 來使兩個容器之間有互動通訊。否則。嘿嘿,你懂的。php 裡面連線不了mysql 。命令解釋,下文全部會有。。

php安裝正文

1.準備工作

因為題主的電腦是ubuntu 系統,所以該篇的一些命令,統一為ubuntu 除了安裝之外,貌似也沒啥不相容其他系統的了。
docker安裝,
windows安裝
linux
mac

1、docker環境
2、php:7.2.4-fpm映象(這個要針對你專案的環境)官方映象
3、MySql 官方映象(看你自己心情裝不裝)

(滑稽) 有些讀者可能會問,為什麼不要nginx|apache ,因為簡化你的操作。讓你更快的入門安裝,還有就是讓你更快的寫程式碼。

當你下載好了docker ,開啟docker

版本資訊
當docker開啟後,docker version列印Server資訊,沒有開啟則不列印。
請開啟docker

2.開始

1、[[email protected] app]# docker pull php:7.2.5-fpm              #docker pull 映象,從docker映象中拉取某個映象 
2、[[email protected] app]# docker images                          #docker 當前所有的映象名字 images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
docker.io/php       7.2.5-fpm           e6970efc6d34        3 days ago          367 MB
3、[[email protected] app]# docker run -d -p 8080:8080 --link mysql_server:mysql_server -v ~/app:/app -w /app php:7.2.5-fpm php -S 0.0.0.0:8080 -t /app 
命令解釋
# -d 後臺預設啟動
# -p 對映埠8080 對映到本機8080  使用方式 本地埠:容器埠
# -v 掛在目錄 ~/app 掛載到容器裡面 /app目錄 
# -w 工作目錄 /app目錄 相當於cd (在這裡,我們可以不用)
# --link  連線容器    容器名:內部使用的名字  
# php:7.2.5-fpm 映象名
# php -S 0.0.0.0:8080 -t /app  php自帶cli Server  用這個可以免除nginx|apache 安裝,指定埠為8080 。

4、[[email protected] app]# docker ps   #檢視正在執行的容器
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                              NAMES
9354f9338e29        php:7.2.5-fpm       "docker-php-entryp..."   4 minutes ago       Up 4 minutes        0.0.0.0:8080->8080/tcp, 9000/tcp   naughty_fermi

這裡我們可以看出,NAMES 下是容器名,當我們沒有指定的時候,docker 會自動建立一個容器名。
PORTS 埠,
0.0.0.0:8080->8080/tcp 本機8080 對映到容器8080 

3.測試:

我們在app目錄下新建一個index.php


<?php 

phpinfo();

開啟127.0.0.1:8080 即可看到我們熟悉的phpinfo

4.安裝擴充套件

如果不需要安裝擴充套件,請看注意!!!

這裡我們講解2種方式安裝拓展

1.進入容器裡面安裝擴充套件

一、檢視docker容器名

[[email protected] app]# docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                              NAMES
9354f9338e29        php:7.2.5-fpm       "docker-php-entryp..."   31 minutes ago      Up 31 minutes       0.0.0.0:8080->8080/tcp, 9000/tcp   naughty_fermi

我們在這裡看到了 docker 名字為 naughty_fermi
二、進入容器

1.進入容器
[[email protected] app]# docker exec -i -t naughty_fermi /bin/bash
[email protected]9354f9338e29:/app# 
#這樣子,看到我們就進入了正在執行的容器
命令解釋
# docker exec  進入正在使用的容器
# -i :即使沒有附加也保持STDIN 開啟 一般和-t合作使用
# -t :分配一個偽終端  一般和-i 合作使用  
# /bin/bash 開啟互動式終端終端
2. [[email protected] app]# docker- 按兩下tab 可以看到
docker-php-entrypoint     docker-php-ext-configure  docker-php-ext-enable     docker-php-ext-install    docker-php-source 

#docker 根據一些常用庫 已經給我們寫好了一些指令碼 docker -php  github 地址[github](https://github.com/docker-library/php)在這裡我們能夠看到原始碼

3.安裝擴充套件 
舉例:sockets 
[[email protected] app]#  docker-php-ext-install sockets 
靜靜等待他編譯安裝
[[email protected] app]# php -m  # 就能夠看到sockets庫了。

4.退出容器 
退出容器的方法有點特殊,需要ctrl+p  再crtl + q 這樣,才能在後臺繼續掛起

[email protected]9354f9338e29:/app# [[email protected] app]# 
[[email protected] app]# 

4.我們需要重啟一下我們cli server 
[[email protected] app]# ps -ef | grep php 
root     11840 11808  0 17:04 ?        00:00:00 php -S 0.0.0.0:8080 -t /app
root     14923  9900  0 17:54 pts/1    00:00:00 grep --color=auto php

找到我們的 php cli-server pid 為11840 
docker 裡面的這些程序,是在本機裡面能夠看到的。這裡是解釋 [解釋](http://dockone.io/question/529)
我們回到了我們的本機上。
[[email protected] app]# kill -9 11840  # 殺死我們的程序
因為我們殺死了我們的程序,所以 php 也會自動關閉

我們從新開啟這個 容器 

比如 上面可以看到 我們NAMES 為 naughty_fermi
[[email protected] app]# docker start naughty_fermi 這樣就開啟了這個擴充套件 

這樣我們的擴充套件就已經安裝好了

注意:有一些擴充套件是需要一些依賴的,在我們安裝一些拓展,前面或許需要一部分依賴。php程式碼裡面連線,mysql host 就不能用127.0.0.1 或者localhost 了。把連結換為 mysql_server mysql 的容器名字。

2.外部安裝拓展

1. [[email protected] app]#  docker exec -d naughty_fermi docker-php-ext-install opcache
#這裡我們用opcache 為例
docker exec 不用解釋了吧。上面有
# -d 後臺預設
# 容器名 後面是在容器裡面執行的 命令
2.重複內部安裝的 4操作 就可以了cli-server 和php-fpm 類似,每次新增擴充套件 都需要重新啟動一下。

當我們第一次配置好了之後,後面就需要docker start 容器名來開啟,這裡來講解幾個命令

1、docker start 容器名 開啟容器
2、docker stop 容器名 停止容器
3、docker kill 容器名 殺死容器

在docker run 裡面 可以指定- -name 容器名字 來 給容器取名字 例如

docker run -d -p 8080:8080 - -name php_server -v ~/app:/app -w /app php:7.2.5-fpm php -S 0.0.0.0:8080 -t /app
這樣,我們容器名字 就可以自己定義了

其他的,有什麼問題,發郵件給我吧。我的郵件是

[email protected]

記得請詳細說明問題哦。否則 不予理睬。。

謹記:此文章只適用於本地開發環境。如有在線上環境使用,純屬傻逼

相關推薦

PHP 本地開發環境 docker 安裝

docker php 本地開發環境 魯迅:不想打產品的程式設計師,不是好銷售 前言 很多人在配置docker的時候,會因為不瞭解他裡面的目錄結構,配置問題,從而會導致很多不明白的地方。 但是,小夥子,你看這篇文章,你就看對了。我會用“短小精悍

Sonar 本地開發環境安裝部署及應用

一、什麼是 Sonar?  Sonar是一個用於程式碼質量管理的開源平臺,用於管理Java原始碼的質量。通過外掛機制,Sonar 可以整合不同的測試工具,程式碼分析工具,以及持續整合工具,比如pmd-cpd、checkstyle、findbugs、Jenkins。通過不同的外掛對這些結果進行再加工處理,通過量

微信小程式本地開發環境配置-php後端

        官方微信開發者工具在11-09開始支援php後端語言開發,這對廣大不熟悉nodejs的開發者是個重大利好,當然並不是說nodejs作為小程式後端不好,而是“世界上最好語言”可以快速開發上線,小程式即將迎來爆發成長期。相信過不了半年一年,小程式會令淘寶、美團恐

windows快速搭建本地apache php mysql開發環境,多站點域名訪問

windows快速搭建本地apache+php+mysql開發環境,多站點域名訪問 所需軟體: XAMPP 2.5 下載好之後傻瓜式安裝,推薦將安裝目錄改到除C盤以外的盤(預設站點目錄和mysql資料都是在安裝目錄中) 我這裡是安裝在D盤(D:\xamp

(純乾貨) MAC OS 下使用 MAMP + Zend Studio 搭建 PHP 開發環境安裝WordPress

1.下載安裝MAMP,下載網址: http://downloads9.mamp.info/MAMP-PRO/releases/4.1.1/MAMP_MAMP_PRO_4.1.1.pkg *樓主使用的是 Version 3.0.7.3  1.1)開啟下載的pkg檔案進行安裝,

DockerPHP專案開發環境中的應用

環境部署是所有團隊都必須面對的問題,隨著系統越來越大,依賴的服務也越來越多,比如我們目前的一個專案就會用到: Web伺服器:NginxWeb程式:PHP + Node資料庫:MySQL搜尋引擎:ElasticSearch佇列服務:Gearman快取服務:Redi

ubuntu操作系統以及開發環境安裝

lar http 比較 acc pan 開發 mode ubuntu 視頻 網盤視頻:裏面包含了centos,ubuntu,Solaris 三種目前比較主流的操作系統的安裝,以及他們的開發環境的安裝 https://pan.baidu.com/disk/home#list/

Mac 環境docker 安裝jenkins

下一步 找到 init 圖片 exp 復制 lin -c 進行 網上很多的教程是講的是Linux 上的Docker安裝Jenkins,但是我用的是Mac,所以參考之前的前輩寫的文章,記錄一下自己的安裝過程。 1.新建本地掛載文件地址,我用到的mac mkdir /User

Windows 平臺搭建 PHP 整合開發環境

Windows 平臺搭建 PHP 整合開發環境 安裝xampp XAMPP 是一個易於安裝且包含 MySQL、PHP 和 Perl 的 Apache 發行版。XAMPP 的確非常容易安裝和使用:只需下載,解壓縮,啟動即可。 官網地址 點選下載window版本的安

微信公眾號如何使用域名直接除錯本地開發環境程式碼的方案

 微信公眾號,必須通過域名才能進行訪問。很多人除錯時,都是把程式碼打包放到伺服器上來除錯,發現問題本地修改,再次上傳除錯,這樣效率非常低。 我們通過這樣操作可以實現本地的直接除錯: 首先公眾號裡設定好域名,驗證域名所有者。 我們假設,域名為:http://wechat.hz300.com,np

Linux下開發環境安裝和配置

一:     1.先下載映象檔案     2.源配置   阿里雲源配置官網:http://mirrors.aliyun.com/        源配置:(1) 備份   sudo mv /etc/yu

在ubuntu下搭建php後臺開發環境——ubuntu16.04+apach2.4.18+php7.0.28+mysql+PhpStorm

在ubuntu下搭建php後臺開發環境——ubuntu16.04+apache2.4.18+php7.0.28+mysql+PhpStorm 此篇文章是記錄自己在搭建php後臺開發環境的流程,適合新手。 名詞解釋 ubuntu——一款基於linux核心的作業系統,對標Window

配置android開發環境安裝Android studio、Android sdk(配置react native的Android環境

配置react native的Android環境的步驟比較多,所以單獨提取出來記錄: 提示:如果是想搭建android開發環境安裝Android studio,本記錄貼也適用的 1. 安裝 Android Studio,配置sdk 2.建立一個android專案並執行測試

跟我一起學Spark之——Windows10下spark2.3.0本地開發環境搭建-親測

相關元件版本: JDK1.8.0_171,hadoop-2.7.6,Spark-2.3.0,Scala-2.11.8,Maven-3.5.3,ideaIC-2018.1.4.exe,spark-2.3.0-bin-hadoop2.7 1.1  JDK1.8.0_171 a.&n

ZCU106開發詳解之VIVADO開發環境安裝

感謝大家漫長的等待!! 我們團隊從去年底拿到ZCU106後就一直在進行相關研發,由於手頭上的活比較多就把ZCU106開發詳解的釋出給延遲了。 從本週開始我們團隊開始對我們在ZCU106開發過程中遇到的問題和解決辦法跟大家進行分享。我們的QQ群是836535064。希望跟大家一起玩好這一個牛逼的晶片。

Phpstorm+XAMPP+Xdebug搭建斷點除錯環境 搭建php除錯開發環境

開發環境 php整合工具:xampp v3.2.2 PHP Version: 7.2.11 PhpStorm:2017.3.4 一、下載安裝Xdebug軟體 可去官方網站下載 http://xdebug.org/ 注意下載的版本一定要與你本地的php版本一

tp5隱藏入口檔案index.php開發環境是Lamp

因為專案需要,我們要注意專案的安全性,同時tp5的url過長,所以我們要隱藏入口檔案index.php 舉例說明:www.xxx.com/tp5(專案名稱)/public/index.php/模組名/控制器名/方法名,這是一般的url訪問地址。 隱藏後:http://xxx.com/tp5/

hadoop本地開發環境搭建

1:下載hadoop2.7.3並解壓 2:配置hadoop2.7.3環境變數 HADOOP_HOME %HADOOP_HOME%\bin 3:下載hadoop-eclipse-plugin外掛 網址:https://github.com/winghc/hadoop2x-eclipse-plugin

Java開發環境安裝配置及在Eclipse上第一個Java程式的執行

首先,我們需要下載IDE開發環境,下面的網址 https://www.eclipse.org/downloads/download.php?file=/oomph/epp/2018-09/Ra/eclipse-inst-win64.exe 下載完成後,執行我們會看到下面的畫面 如果預設

Spark本地開發環境搭建與遠端debug設定

快速看完《Spark大資料處理 技術、應用與效能優化》前四章後,對Spark有了一個初步的瞭解,終於踏出了第一步,現在需要在Spark叢集中做些測試例子,熟悉一下開發環境和開發的流程。本文主要總結了如何在本地使用Maven搭建開發環境以及如何進行遠端debug。由於採用的Spark是