Docker學習第一課

来源:https://www.cnblogs.com/qingxiaoping/archive/2020/06/28/13201104.html
-Advertisement-
Play Games

1、拉取鏡像命令 docker pull php:7.2.0-cli-alpine 2、啟動容器並執行命令 docker run -it --name php-cli php:7.2.0-cli-alpine php -m 3、查看container 列表命令 docker ps 4、刪除某一con ...


1、拉取鏡像命令

docker pull php:7.2.0-cli-alpine

2、啟動容器並執行命令

docker run -it --name php-cli php:7.2.0-cli-alpine php -m

3、查看container 列表命令

docker ps 

4、刪除某一container

docker rm php-cli

5、掛載文件並執行PHP腳本

docker run -it --name php-cli -v /root/php/:/script/ php:7.2.0-cli-alpine php /script/index.php

6、讓容器後臺運行

docker run -d --name php-fpm --rm php:7.2.0-fpm-alpine3.6

7、掛載文件並映射埠

docker run -d --name php-apa -p 80:80 -v /root/php/:/usr/local/apache2/htdocs/  httpd:2.4-alpine

8、查看 apahce 配置文件

docker exec -it php-apa cat  /usr/local/apache2/conf/httpd.conf

9、copy apahce 配置文件

docker cp php-apa:/usr/local/apache2/conf/httpd.conf /root/php/conf/

10、php-fpm 配合apache

  Apache 配置文件修改: 

# DocumentRoot "/usr/local/apache2/htdocs"
<VirtualHost *:80>
      DocumentRoot  "/usr/local/apache2/htdocs"
      ServerName localhost
      ProxyRequests Off
      ProxyPassMatch ^/(.*\.php)$ fcgi://172.17.0.2:9000/php/$1
      <Directory "/usr/local/apache2/htdocs">
          Options none
          AllowOverride none
          Require all granted
      </Directory>
</VirtualHost>


LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
#LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
#LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so

 

  配置php-fpm:docker run --rm -d -v /root/php/:/php/ --name php-fpm php:7.2.0-fpm-alpine3.6

  配置php-apache:docker run -d -p 80:80 -v /root/php/:/usr/local/apache2/htdocs/ -v /root/conf/httpd.conf:/usr/local/apache2/conf/httpd.conf --name php-apache httpd:2.4-alpine

  /var/spool/cron/crontabs/root


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • ntp時間校準伺服器設計之初就採用的傻瓜式操作理念,在採購的時候無需過於擔心調試,本文將重點介紹收到時間校準伺服器後如何進行調試,供用戶參考。 1、將蘑菇頭天線的BNC介面插到時間校準伺服器的最左邊的天線介面上,確保介面無誤擰緊,有個別客戶沒有註意會插入到1pps的out1介面上。 2、將ntp時間 ...
  • 北斗網路時鐘伺服器是能夠以北斗衛星信號為時間基準,以UTC時間為標準時間信息,並通過NTP網路輸出時間進行授時的時間伺服器。北斗網路時鐘伺服器利用NTP網路時間協議進行校時,所以它的授時精準可靠已被多種行業所使用。 由於現在很多終端授時設備大多數都是接收網路時間信息的,再加上用戶要求以北斗衛星信號為 ...
  • sntp時間伺服器是指運用一種簡單的網路時間協議進行時間同步的。sntp網路協議是由NTP網路時間協議改編而來的,NTP網路時間協議它是同步電腦的協議。所以在授時方面sntp時間伺服器也可以達到NTP時間伺服器同樣的功能。 sntp時間伺服器以衛星時間信號為時間基準,並輸出UTC國際標準時間信息。 ...
  • 網路校時伺服器是指時間伺服器接收衛星時間信息,並輸出NTP網路輸出時間信息,再傳送給需要時間的終端設備,實現對終端設備的校時。NTP是指網路時間協議能同步網路中各個電腦的時間的協議,它可以給電腦和其它網路設備提供時間信息。 網路校時伺服器能接收衛星信號CDMA信號為時間基準,以UTC世界協調時為 ...
  • ubuntu sever 20.04 LTS, linux-image-5.4.0-39-generic 七彩虹 C.Q1900M集成主板、SIS P240固態硬碟、航嘉 HK400電源 Question :在重新給主板上電時,發生強電火花閃爍,重新啟動系統提示 **內核不同步:致命異常 ** ke ...
  • Vulnhub簡介 Vulnhub是一個提供各種漏洞環境的靶場平臺,供安全愛好者學習滲透使用,大部分環境是做好的虛擬機鏡像文件,鏡像預先設計了多種漏洞,需要使用VMware或者VirtualBox運行。每個鏡像會有破解的目標,大多是Boot2root,從啟動虛機到獲取操作系統的root許可權和查看fl ...
  • 今天準備在 ubuntu 伺服器裡面安裝 nodejs 版本,ubuntu 18.04 倉庫 nodejs 預設是 8.x 版本。 1. 通過 apt 安裝 nodejs 在 Ubuntu 18.04 的預設倉庫包含了一個 Node.js 的版本,截至當前,該倉庫的 node.js 版本是 8.10 ...
  • 痞子衡的技術交流群里經常有群友提問: i.MXRT中的FlexSPI驅動API到底怎麼用啊?這個問題已經出現過好幾次了,本來痞子衡不打算專門為這個寫文章的,因為這部分內容在晶元手冊System Boot章節里的最後一節ROM APIs里其實介紹得非常詳細了,但是既然還是有不少朋友在問這個,看起來手冊... ...
一周排行
    -Advertisement-
    Play Games
  • Timer是什麼 Timer 是一種用於創建定期粒度行為的機制。 與標準的 .NET System.Threading.Timer 類相似,Orleans 的 Timer 允許在一段時間後執行特定的操作,或者在特定的時間間隔內重覆執行操作。 它在分散式系統中具有重要作用,特別是在處理需要周期性執行的 ...
  • 前言 相信很多做WPF開發的小伙伴都遇到過表格類的需求,雖然現有的Grid控制項也能實現,但是使用起來的體驗感並不好,比如要實現一個Excel中的表格效果,估計你能想到的第一個方法就是套Border控制項,用這種方法你需要控制每個Border的邊框,並且在一堆Bordr中找到Grid.Row,Grid. ...
  • .NET C#程式啟動閃退,目錄導致的問題 這是第2次踩這個坑了,很小的編程細節,容易忽略,所以寫個博客,分享給大家。 1.第一次坑:是windows 系統把程式運行成服務,找不到配置文件,原因是以服務運行它的工作目錄是在C:\Windows\System32 2.本次坑:WPF桌面程式通過註冊表設 ...
  • 在分散式系統中,數據的持久化是至關重要的一環。 Orleans 7 引入了強大的持久化功能,使得在分散式環境下管理數據變得更加輕鬆和可靠。 本文將介紹什麼是 Orleans 7 的持久化,如何設置它以及相應的代碼示例。 什麼是 Orleans 7 的持久化? Orleans 7 的持久化是指將 Or ...
  • 前言 .NET Feature Management 是一個用於管理應用程式功能的庫,它可以幫助開發人員在應用程式中輕鬆地添加、移除和管理功能。使用 Feature Management,開發人員可以根據不同用戶、環境或其他條件來動態地控制應用程式中的功能。這使得開發人員可以更靈活地管理應用程式的功 ...
  • 在 WPF 應用程式中,拖放操作是實現用戶交互的重要組成部分。通過拖放操作,用戶可以輕鬆地將數據從一個位置移動到另一個位置,或者將控制項從一個容器移動到另一個容器。然而,WPF 中預設的拖放操作可能並不是那麼好用。為瞭解決這個問題,我們可以自定義一個 Panel 來實現更簡單的拖拽操作。 自定義 Pa ...
  • 在實際使用中,由於涉及到不同編程語言之間互相調用,導致C++ 中的OpenCV與C#中的OpenCvSharp 圖像數據在不同編程語言之間難以有效傳遞。在本文中我們將結合OpenCvSharp源碼實現原理,探究兩種數據之間的通信方式。 ...
  • 一、前言 這是一篇搭建許可權管理系統的系列文章。 隨著網路的發展,信息安全對應任何企業來說都越發的重要,而本系列文章將和大家一起一步一步搭建一個全新的許可權管理系統。 說明:由於搭建一個全新的項目過於繁瑣,所有作者將挑選核心代碼和核心思路進行分享。 二、技術選擇 三、開始設計 1、自主搭建vue前端和. ...
  • Csharper中的表達式樹 這節課來瞭解一下表示式樹是什麼? 在C#中,表達式樹是一種數據結構,它可以表示一些代碼塊,如Lambda表達式或查詢表達式。表達式樹使你能夠查看和操作數據,就像你可以查看和操作代碼一樣。它們通常用於創建動態查詢和解析表達式。 一、認識表達式樹 為什麼要這樣說?它和委托有 ...
  • 在使用Django等框架來操作MySQL時,實際上底層還是通過Python來操作的,首先需要安裝一個驅動程式,在Python3中,驅動程式有多種選擇,比如有pymysql以及mysqlclient等。使用pip命令安裝mysqlclient失敗應如何解決? 安裝的python版本說明 機器同時安裝了 ...